2013-03-10 124 views
23

我剛剛使用rbenv安裝了Ruby 2.0.0,並將其設置爲我係統的全局ruby版本。由於2.0與1.9.3兼容,我試圖用它啓動一個Rails項目,但遇到以下錯誤。我安裝2.0重新安裝每個寶石版本的每個寶石?

The `rails' command exists in these Ruby versions: 
    1.9.3-p327 

這是否意味着,我在我的系統上安裝了1.9.3每個寶石必須重新安裝,如果我想用2.0使用後沒有rbenv rehash

+0

原則上是的,但我很想知道是否有替代方案可以讓我們保留已安裝的寶石。 – 2013-03-10 20:47:03

回答

17

是的。 Rbenv(和RVM)爲每個安裝的Ruby版本都有單獨的「gem home」目錄。有些方法可能符號鏈接某些目錄以使它們共享,但這可能會導致問題,特別是對於包含本機C擴展名的gem,這些擴展名可能會或可能不會在多個版本中進行編譯和運行。

如果您有Gemfile,最簡單的事情就是再次爲Ruby 2.0提供bundle install,爲您提供許多gem和任何本地gem的Ruby-2.0編譯版本的副本。

48

可以看出here

您需要重新安裝捆綁爲Ruby的每個版本使用。看到你安裝Ruby版本:

rbenv whence bundle 

請參閱您的當前版本:

rbenv version 

該版本的安裝捆綁,如果丟失:

gem install bundler 
+0

細分。 – 2013-08-08 00:57:46