2013-04-26 109 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內爆並安裝它一遍又一遍。

相關問題