没有这样的文件加载 - 初始化程序(LoadError)

时间:2013-04-26 08:29:39

标签: ruby-on-rails ruby ruby-on-rails-3

我在ubuntu 12上安装了以下内容

  • ruby​​ 1.9.2p320
  • Rails 3.2.6

现在我有一个老项目,它被开发成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>'

3 个答案:

答案 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并安装它一遍又一遍。