【问题标题】:Having Trouble Generating a Ruby Migration无法生成 Ruby 迁移
【发布时间】:2013-05-22 19:33:49
【问题描述】:

我想为运行 Rails 2.3.14 和 Ruby 1.8.7 的站点生成新的迁移。我写了命令

ruby script/generate migration AssetTable

期望脚本在 db/migrate 目录下生成文件 20130522161112_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

有谁知道我在这里做错了什么?

【问题讨论】:

  • 所以问题是我有 Ruby 1.8.7,我需要降级到早期版本才能使其与 Rails 2.3.14 一起使用?
  • 嗯,我只是看了一点帖子,我认为你必须降级 ruby​​gems,而不是 ruby​​
  • 答案是:“发生这种情况是因为您安装的 RubyGems 对于您的 Rails 版本来说太新了。要么降级(并重新运行 update_rubygems),要么将 Rails 升级到 2.3.11。”跨度>

标签: ruby-on-rails ruby rails-migrations


【解决方案1】:

根据您的 ruby​​gems 版本,您可以尝试运行吗:

$ gem install rubygems-update -v='1.4.2'
$ gem uninstall rubygems-update -v='1.5.0'
$ update_rubygems

在这里看到:Gem dependency error in rails 2.3.4

发生这种情况是因为您安装的 RubyGems 对您来说太新了 你的 Rails 版本。降级(并重新运行 update_rubygems) 或将 Rails 升级到 2.3.11。

【讨论】:

  • 好的,我尝试降级到 ruby​​gems 1.3.5,但是当我运行 $ update_rubygems 时,我得到了 -bash: update_rubygems: command not found
  • 我开始认为这与路径有关,但不确定
猜你喜欢
  • 2019-12-27
  • 2011-09-16
  • 2018-05-02
  • 2022-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-25
  • 2013-02-16
相关资源
最近更新 更多