我剛剛使用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
?
我剛剛使用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
?
是的。 Rbenv(和RVM)爲每個安裝的Ruby版本都有單獨的「gem home」目錄。有些方法可能符號鏈接某些目錄以使它們共享,但這可能會導致問題,特別是對於包含本機C擴展名的gem,這些擴展名可能會或可能不會在多個版本中進行編譯和運行。
如果您有Gemfile,最簡單的事情就是再次爲Ruby 2.0提供bundle install
,爲您提供許多gem和任何本地gem的Ruby-2.0編譯版本的副本。
可以看出here:
您需要重新安裝捆綁爲Ruby的每個版本使用。看到你安裝Ruby版本:
rbenv whence bundle
請參閱您的當前版本:
rbenv version
該版本的安裝捆綁,如果丟失:
gem install bundler
細分。 – 2013-08-08 00:57:46
這另一種解決方案是將您以前版本的寶石複製(或重新安裝)到新安裝的版本。如何做到這一點在this question中有詳細解答,它有兩個腳本 - 一個到install from local cache,一個到reinstall from the internet(我的)。
原則上是的,但我很想知道是否有替代方案可以讓我們保留已安裝的寶石。 – 2013-03-10 20:47:03