2011-08-15 72 views
1

我目前正在分析兩個rails項目,其中一個是2.3.5版本,另一個是2.3.4版本。我如何在同一臺機器上運行這兩個項目?我可以在同一臺機器上使用不同版本的導軌嗎?

+0

其實我確實安裝了兩個版本。穆寶石清單顯示了他們兩個。但是當我嘗試爲2.3.4 rails項目遷移db時,我得到這個錯誤 rake中止! 未定義的局部變量或方法'version_requirements'爲# D:/ChromeDownloads/echowave/vendor/rails/railties/lib/rails/gem_dependency.rb:119:'require' – Rahul

+0

如果if你執行'bundle exec rake db:migrate' – apneadiving

回答

5

我使用Ruby版本管理器(RVM),http://beginrescueend.com/

它允許您在主目錄中安裝多個ruby環境。您也可以爲每個'rubies'創建多個'gemsets'。

現在所有的寶石,尤其是Rails都可以存在於自己的安全環境中。您只需在每個人之間切換。非常非常棒。

編輯

它出現在你的問題,你正在使用Windows您的評論...所以看起來像RVM將無法正常工作。 RVM網站推薦使用PIK:http://github.com/vertiginous/pik作爲Windows替代品。

+0

'D:/ ChromeDownloads/echowave/vendor/rails /'看起來像Windows路徑沒有Windows的RVM思想:( – Bohdan

+0

嗯,我的第一個想法是...關閉窗口!!!但是這沒有幫助...所以檢查了這一點https://github.com/vertiginous/pik / –

3

這只是一個寶石問題。 Bundler爲你處理這個問題,所以應該沒有任何困難。

如果您面臨絆腳石,詳細說明您的問題。

+0

不是bundler是rails 3的東西... – Yule

+0

nope check http://gembundler.com/rails23.html – Bohdan

0

可以指定你要哪一個版本在項目中使用您的config/environment.rb文件:

RAILS_GEM_VERSION = '2.3.5' unless defined? RAILS_GEM_VERSION 

或直傳遞:

ruby script/console RAILS_GEM_VERSION='2.3.5' 

所以,你可以同時運行它們:

# on http://localhost:3000 
ruby script/console RAILS_GEM_VERSION='2.3.4' -p 3000 
# on http://localhost:3001 
ruby script/console RAILS_GEM_VERSION='2.3.5' -p 3001 
相關問題