我在ubuntu 12上安装了以下内容
现在我有一个老项目,它被开发成Rails 2& Ruby 1.8.7
问题:
当我在旧项目根目录下运行命令
时ruby ./script/plugin install git://github.com/rails/rails_upgrade.git
出现以下错误
Invalid gemspec in [/usr/local/rvm/gems/ruby-1.9.2-p320/specifications/ZenTest-4.9.1.gemspec]: Illformed requirement ["< 2.1, >= 1.8"]
/usr/local/rvm/rubies/ruby-1.9.2-p320/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require': no such file to load -- initializer (LoadError)
from /usr/local/rvm/rubies/ruby-1.9.2-p320/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
from /var/www/project/client/softwallet/config/boot.rb:54:in `load_initializer'
from /var/www/project/client/softwallet/config/boot.rb:38:in `run'
from /var/www/project/client/softwallet/config/boot.rb:11:in `boot!'
from /var/www/project/client/softwallet/config/boot.rb:109:in `<top (required)>'
from <internal:lib/rubygems/custom_require>:29:in `require'
from <internal:lib/rubygems/custom_require>:29:in `require'
from ./script/plugin:2:in `<main>'
答案 0 :(得分:2)
将旧的rails项目升级到新项目并获得invalid gemspec
问题。
然后你必须做以下事情:
运行gem update --system
后跟bundle install
。
<强>更新强>
您使用旧版rails应用程序中的旧版config/boot.rb
。
执行以下操作:
1)创建一个新的项目目录。
2)生成一个新的rails应用程序(最新的rails版本)
3)使用由它创建的boot.rb
。
答案 1 :(得分:0)
如果您的环境中已安装了相同gem的不兼容版本,则会发生这种情况。 要纠正,您可以卸载并重新安装gem或安装特定版本的gem。
确保在执行之前执行gem清理操作。
答案 2 :(得分:0)
这就是我的问题得到解决的方法。我正在使用RVM,如果您已经编辑了那些.bashrc文件,那么每次登录shell时,都要执行 / bin / bash --login 。这样做,它使命令行记下你设置的rvm路径并首先安装它们。
我在Ubuntu 12上做了这个,它确实解决了我的问题,我不认为做gem更新 - 系统是一个好主意,因为它真的有点混乱环境迫使一个人做一个rvm implode并安装它一遍又一遍。