Ruby on rails 生成Ruby迁移时遇到问题
我想为运行Rails 2.3.14和Ruby 1.8.7的站点生成一个新的迁移。我写了命令Ruby on rails 生成Ruby迁移时遇到问题,ruby-on-rails,ruby,rails-migrations,Ruby On Rails,Ruby,Rails Migrations,我想为运行Rails 2.3.14和Ruby 1.8.7的站点生成一个新的迁移。我写了命令 ruby script/generate migration AssetTable 希望脚本在db/migrate目录中生成文件2013052161112_asset_table.rb。但是我没有看到这个文件。运行上述命令后得到的输出是: /var/lib/gems/1.8/gems/rails-2.3.14/lib/rails/gem_dependency.rb:81:in `add_load_pat
ruby script/generate migration AssetTable
希望脚本在db/migrate目录中生成文件2013052161112_asset_table.rb。但是我没有看到这个文件。运行上述命令后得到的输出是:
/var/lib/gems/1.8/gems/rails-2.3.14/lib/rails/gem_dependency.rb:81:in `add_load_paths': undefined method `requirement' for #<Rails::GemDependency:0x7ffd183eba58> (NoMethodError)
from /var/lib/gems/1.8/gems/rails-2.3.14/lib/initializer.rb:301:in `add_gem_load_paths'
from /var/lib/gems/1.8/gems/rails-2.3.14/lib/initializer.rb:301:in `each'
from /var/lib/gems/1.8/gems/rails-2.3.14/lib/initializer.rb:301:in `add_gem_load_paths'
from /var/lib/gems/1.8/gems/rails-2.3.14/lib/initializer.rb:132:in `process'
from /var/lib/gems/1.8/gems/rails-2.3.14/lib/initializer.rb:113:in `send'
from /var/lib/gems/1.8/gems/rails-2.3.14/lib/initializer.rb:113:in `run'
from /var/www/pbcore/releases/20120416101734/config/environment.rb:17
from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /var/lib/gems/1.8/gems/rails-2.3.14/lib/commands/generate.rb:1
from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require
/var/lib/gems/1.8/gems/rails-2.3.14/lib/rails/gem_dependency.rb:81:in'add_load_path':未定义的方法'requirement'(NoMethodError)
from/var/lib/gems/1.8/gems/rails-2.3.14/lib/initializer.rb:301:“添加gem\u加载路径”
from/var/lib/gems/1.8/gems/rails-2.3.14/lib/initializer.rb:301:in'each'
from/var/lib/gems/1.8/gems/rails-2.3.14/lib/initializer.rb:301:“添加gem\u加载路径”
from/var/lib/gems/1.8/gems/rails-2.3.14/lib/initializer.rb:132:在“进程”中
from/var/lib/gems/1.8/gems/rails-2.3.14/lib/initializer.rb:113:in'send'
from/var/lib/gems/1.8/gems/rails-2.3.14/lib/initializer.rb:113:in'run'
摘自/var/www/pbcore/releases/20120416101734/config/environment.rb:17
from/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in'gem_original_require'
from/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in'require'
来自/var/lib/gems/1.8/gems/rails-2.3.14/lib/commands/generate.rb:1
from/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in'gem_original_require'
from/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in`require
有人知道我做错了什么吗?根据您的rubygems版本,您可以尝试运行:
$ gem install rubygems-update -v='1.4.2'
$ gem uninstall rubygems-update -v='1.5.0'
$ update_rubygems
在这里看到::
发生这种情况是因为您安装了RubyGems,这对您来说太新了
您的Rails版本。降级(并重新运行更新\u rubygems)
或者将Rails升级到2.3.11
所以问题是我有Ruby1.8.7,我需要降级到一个更早的版本,使它能与Rails 2.3.14一起工作?嗯,我只是读了一点帖子,我认为你必须降级rubygems,而不是Rubyth。答案是:“这是因为你安装了rubygems,这对你的Rails版本来说太新了。要么降级,要么降级(并重新运行update\u rubygems)或将Rails升级到2.3.11。“好吧,我试着降级到rubygems 1.3.5,但当我运行
$update\u rubygems
时,我得到了-bash:update\u rubygems:command not found
我开始认为这与路径有关,但不确定