2011-06-08 80 views
50

安裝RVM,更新.gmrc文件,更新RubyGems的運行gem install rails -v ">=3.1.0rc"後,我現在似乎有一個完整的爛攤子:找不到軌(> = 0)之間[](寶石:: LoadError)

$ rails -v 
/usr/local/lib/site_ruby/1.8/rubygems/dependency.rb:247:in `to_specs': Could not find rails (>= 0) amongst [] (Gem::LoadError) 
    from /usr/local/lib/site_ruby/1.8/rubygems/dependency.rb:256:in `to_spec' 
    from /usr/local/lib/site_ruby/1.8/rubygems.rb:1182:in `gem' 
    from /var/lib/gems/1.8/bin/rails:18 

[email protected]:~$ gem env 

RubyGems Environment: 
    - RUBYGEMS VERSION: 1.6.2 
    - RUBY VERSION: 1.9.2 (2011-02-18 patchlevel 180) [i686-linux] 
    - INSTALLATION DIRECTORY: /home/myhome/gems 
    - RUBY EXECUTABLE: /home/myhome/.rvm/rubies/ruby-1.9.2-p180/bin/ruby 
    - EXECUTABLE DIRECTORY: /home/myhome/gems/bin 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86-linux 
    - GEM PATHS: 
    - /home/myhome/gems 
    - /usr/lib/ruby/gems/1.8 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :benchmark => false 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - "gemhome" => "/home/myhome/gems" 
    - "gempath" => ["/home/myhome/gems", "/usr/lib/ruby/gems/1.8"] 
    - REMOTE SOURCES: 
    - http://rubygems.org/ 
+0

我有這個確切的問題,但與打包機寶石。 – Mark 2011-08-03 21:27:53

+0

對不起,我重新安裝在該機器上的Ubuntu,所以我不能評論任何解決方案建議..儘管其實我嘗試了sudo方法沒有成功,所以我會接受刪除ruby的建議,謝謝 – rigyt 2012-03-08 22:38:50

回答

33

我不得不sudo gem install bundler使它重新工作。

+10

上帝,有時候Ruby的生態系統讓我尖叫而哭泣。 – iphone007 2015-07-28 04:08:17

+0

如果我已經有捆綁軟件但仍不起作用? (這是我的情況) – ViniciusPires 2016-10-27 13:33:00

83

我有一個類似的問題。不知道這是否對你有幫助,但你可能會嘗試安裝寶石rvmsudo gem install [gemname],而不是隻做gem install [gemname]sudo gem install [gemname]

我試圖解釋,因爲upvotes這一點:
這基本上是一個路徑問題。如果您通過gem install設置寶石,與通過捆綁商設置的寶石(您可以用--path覆蓋它)相比,它們很可能位於另一個目錄(例如/usr/local/)。使用sudo也可以將它們設置到另一個目錄中,因爲sudo啓動了一個具有不同環境的子shell。這就是爲什麼你有rvmsudo

如果你想看到的差異,直接呼應的時候,用sudorvmsudo比較$PATH$GEM_HOME$GEM_PATH$BUNDLE_PATH

+2

這個評論是特別有用的在travis-ci.org上安裝寶石 – badsyntax 2013-06-30 09:48:28

+4

希望我可以讓你讚賞兩次。 – Allen 2014-07-12 22:41:08

+0

我在創建自己的寶石時仍然遇到此問題,並仍在開發它們。在主應用程序中,我使用路徑來引用文件夾。 當應用程序目錄之外,我想做一些像rails -v的東西,我得到這個錯誤,說它找不到我正在開發的自定義gem。任何關於潛在修復的建議? – Spasm 2014-10-16 01:25:57

1

刪除紅寶石第一 然後

sudo apt-get install build-essential libssl-dev libreadline5 libreadline5-dev zlib1g zlib1g-dev 

安裝所有需要的lib ,那麼你可以安裝Ruby和Rails

rvm install 1.9.3 
rvm --default use 1.9.3 
rvm gem install rails 
0

在安裝IntelliJ IDEA和關聯的插件for Rail Dev之後嘗試生成控制器時,我幾乎得到了相同的消息。從我的應用程序目錄中,我只是執行捆綁安裝,然後能夠再次生成控制器。

5
rvm rubygems current 

爲我做了詭計。

6

我得到了類似這樣的問題,可能會出現rvm兼容問題。 我固定通過更新RVM到最新版本:

curl -L https://get.rvm.io | bash -s stable --ruby 

那麼你應該重新加載RVM或只需打開新的終端窗口。 然後我重新安裝了捆綁軟件'gem install bundler',並像往常一樣運行'捆綁安裝'

+3

如果你已經安裝了rvm和更新的版本,這應該做同樣的事情: 'rvm get stable --auto' – jmervine 2012-11-12 19:36:29

0

我知道這是一個非常古老的問題,但我最近決定轉移到我剛剛安裝的服務器上的RVM,在這個問題上,寶石被安裝在錯誤的地方,它只是搞亂了一切。

在經過幾個小時的爬行之後,我最終發現在我的根文件夾中的.gemrc文件中,我以前設置了gemhome: and gempath:變量,它們與整個系統混淆。

刪除這些行後,我所有的寶石是工作屬性。

只是想我會張貼我的答案,以防有人在同一個位置。

相關問題