2013-07-12 24 views
0
/usr/local/lib/site_ruby/1.8/rubygems/core_ext/kernel_require.rb:51:in `gem_original_require': no such file to load -- rails (LoadError) 
from /usr/local/lib/site_ruby/1.8/rubygems/core_ext/kernel_require.rb:51:in `require' 
from /usr/local/www/sl-exchange/lib/init.rb:4 
from /usr/local/lib/site_ruby/1.8/rubygems/core_ext/kernel_require.rb:51:in `gem_original_require' 
from /usr/local/lib/site_ruby/1.8/rubygems/core_ext/kernel_require.rb:51:in `require' 
from /usr/local/www/sl-exchange/lib/exchange.rb:11 
from /usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/application.rb:176:in `load' 
from /usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/application.rb:176:in `start_load' 
from /usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/application.rb:257:in `start' 
from /usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/controller.rb:69:in `run' 
from /usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons.rb:139:in `run' 
from /usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/cmdline.rb:105:in `call' 
from /usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons/cmdline.rb:105:in `catch_exceptions' 
from /usr/lib/ruby/gems/1.8/gems/daemons-1.0.10/lib/daemons.rb:138:in `run' 
from ./data_exchange_preview:15 

,但是當我在終端做rails --version我得到:如何告訴RubyGems看看別處?

[email protected]:/usr/local/www/sl-exchange# rails --version 
Rails 2.1.1 

which rails給我/usr/bin/rails。我剛剛刪除了ruby 1.9.1,並在我的系統上安裝了1.8.7,這可能是爲什麼。它曾經位於/ usr/local/bin

+0

這是http://stackoverflow.com/q/17624042/128421的副本 –

回答

0

添加源:

gem sources -a URI 

要看到當前環境

gem env 
1

很難確切地說出你做了什麼。

你說你刪除了Ruby 1.9.1並且安裝了1.8.7(自從你從一個合理的當前版本轉到一個已經不被支持的版本,這並沒有什麼意義)說如何你安裝它。

因爲你在一個Linux系統上,但沒有說出哪一個,我假設你沒有從源代碼中完成,它會自動包含所有必要的Rubygems代碼。 1.8.7也是如此,但是當使用打包安裝時,他們經常分離出必要的組件,使得Ruby更難運行。

因此,可以在不刪除關聯的gem的情況下刪除Ruby二進制文件,然後安裝另一個Ruby版本,從而使與孤立或至少不關聯的gem關聯。這就是我認爲你所做的。

我的建議您從您的機器上刪除所有的Ruby軟件包,然後爲您的操作系統版本重新安裝當前的Ruby。

然後,安裝RVMrbenv將Ruby安裝到您的主目錄中的沙箱中,並讓系統Ruby保持獨立。 RVM和rbenv使安裝一個或多個Ruby版本變得非常簡單。每個人都有自己的獨立寶石。

在RVM和rbenv之間,簡單的是rbenv。它沒有所有的命令和功能,也不像RVM那麼複雜,但是要比在開發時從一個軟件包中安裝並且需要測試多個Rubies更好。如果你使用RVM,請閱讀整個安裝指南,以便您瞭解您的選擇,然後爲單用戶安裝。

在我管理的系統上,我只使用軟件包在測試和生產主機上安裝一個Ruby。我們共享的開發主機和我們的桌面上的開發人員使用RVM或rbenv以獲得方便和靈活性。