2013-04-26 45 views
1

我有以下安装在Ubuntu 12没有这样的文件来加载 - 初始化(LoadError)

  • 红宝石1.9.2p320
  • 的Rails 3.2.6

现在我已经老项目,该项目被显影成轨道2 &红宝石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

使用'rvm'。因此,当你使用旧项目工作时,通过'rvm use 1.8.7'将ruby版本更改为旧版本,如果你使用新项目,则使用'rvm use 1.9.2'。这将消除任何不兼容问题。 – 2013-04-26 08:47:56

+0

但是我想将rails 2项目升级到rails 3 – GBD 2013-04-26 08:50:15

回答

2

将旧的rails项目升级为新的并获取invalid gemspec问题。

然后,你必须做到以下几点:

运行gem update --system其次bundle install

UPDATE:

您使用的是相同的旧config/boot.rb从旧版本的Rails应用程序。

执行以下操作:

1)创建一个新的项目目录。

2)生成一个新的Rails应用程序(新的最新轨版)

3)使用由它创建boot.rb

+0

谢谢!但如何解决这个'没有这样的文件加载 - 初始化(LoadError)' – GBD 2013-04-26 09:03:08

+0

请参阅更新的答案。 – 2013-04-26 09:09:00

+0

我是否需要将新的'boot.rb'文件复制到旧项目中,然后运行? – GBD 2013-04-26 09:11:10

0

这种情况发生时,你已经安装在您的环境中相同的宝石不兼容的版本。 要纠正,要么卸载并重新安装gem,要么安装特定版本的gem。

确保您在做之前先进行了一次gem清理操作。

+0

您的解决方案涉及到'无效的gemspec'或'没有这样的文件加载 - 初始值设定项(LoadError)' – GBD 2013-04-26 08:40:11

+0

是的,这是我错误地选择了宝石版本 – 2013-04-26 08:45:41

0

这就是我的问题如何解决。我使用的是RVM,如果您编辑了这些.bashrc文件,则每次登录到shell时,都要执行/bin/bash --login。这是做什么的,它使得命令行记录下你设置的rvm路径并首先安装它们。

我在Ubuntu 12上做了这个,它确实解决了我的问题,我不认为做宝石更新 - 系统是一个好主意,因为它真的有点破坏环境,迫使一个人做一个rvm内爆并安装它一遍又一遍。

相关问题