2011-05-27 89 views
15

我在我的系統(Fedora)中安裝了兩個不同的rails版本。如何爲項目設置默認rails版本?

gem list -d rails 
*** LOCAL GEMS *** 

rails (3.0.5, 1.2.1) 
    Author: David Heinemeier Hansson 
    Rubyforge: http://rubyforge.org/projects/rails 
    Homepage: http://www.rubyonrails.org 
    Installed at (3.0.5): /usr/local/lib/ruby/gems/1.8 
       (1.2.1): /usr/local/lib/ruby/gems/1.8 

    Full-stack web application framework. 

當我嘗試創建一個類似下面的方式( 「http://www.nomachetejuggling.com/2008/03/12/using-multiple-versions-of-rails/」)項目

rails 1.2.1 myproject 

但是,它不工作。所以,我檢查了

rails -v 
Rails 3.0.5 

那麼,你能幫助我,如何創建與舊版本和更新版本的項目。有什麼方法可以將特定的rails版本設置爲默認值?

回答

27

要使用比你已經安裝了最新的舊版本,只是包裝的版本號在下劃線:

rails _1.2.1_ myproject

+1

我不知道是否有辦法將此設置爲系統默認值。您可以使用bash別名或類似名稱'別名rails =「rails _1.2.1_」'。 – matkins 2011-05-27 06:04:18

+0

謝謝@matkins。你能爲我多做一個好處嗎?我在rails 1.2.1版本中有一個項目。現在,我另外安裝了新的rails版本,3.0.0。所以,當我嘗試運行我的項目項目(由1.2.1構建)腳本/服務器時,它不運行。在我的系統中安裝兩個rails版本時運行是否正確。錯誤是「127.0.0.1 - - [27/May/2011:11:05:21 IST]」GET/HTTP/1.1「500 309」 – 2011-05-27 06:09:33

+0

你能提供關於錯誤的更多細節嗎?這可能值得就此提出另一個問題,因爲這似乎是一個不同的問題。 – matkins 2011-05-27 11:11:48

-3

您首先安裝了rvm(rails版本管理) 然後鍵入。 RVM 1.2.1

+0

這是不正確的。 RVM代表Ruby Version Manager,與rails本身無關。 – Francisco 2017-01-06 03:09:29

0

在你config/environment.rb文件,把這個開頭爲舊版本:

RAILS_GEM_VERSION = '1.2.1'

或這個新版本:

RAILS_GEM_VERSION = '3.0.5'

3

您發佈的URL解決了您的問題 - 您只是忘了下劃線。

varar:~ mr$ gem list rails 

*** LOCAL GEMS *** 

rails (3.1.0.rc1, 3.1.0.beta1, 3.0.3, 3.0.1) 
varar:~ mr$ rails _3.0.1_ -v 
Rails 3.0.1 
+0

哦!是的..謝謝@fx_。 – 2011-05-27 06:10:31

3

As @Shaun在this post中提到,您可以在同一時間使用多個版本的Rails和Ruby!
對於使用紅寶石的特定版本:

rvm use 1.9.3 --default 

開關--default用於設置這個版本的Ruby默認版本。
對於使用特定的Rails和Ruby版本:

rvm gemset create rails-3.2.3 
rvm use [email protected] --default 
gem install rails 

第一行創建下/home/username/.rvm/gems/
第二行使用的是寶石作爲默認情況下,寶石和相關文件夾一個
三線寶石安裝指定版本(Rails的3.2 .3)關於相關文件夾。

這是我gems文件夾的內容:

cache ruby-1.9.3-p194 [email protected] [email protected] 

初始文件夾是[email protected]。因此,對於備份到以前的狀態,只需要運行:

rvm use [email protected] 

,你可以看到以前的Rails和Ruby版本:)

好運

+0

一切工作良好,直到我試圖安裝軌道特定版本(3.2.6)。即使在我指定rails版本時,gem安裝了4.0.0版本,還有什麼評論? – Francisco 2013-09-15 21:19:35

+0

您使用了哪些命令? – 2013-09-16 05:44:23

+0

要安裝rails 3.2.6,請使用'gem install rails -v 3.2.6' – Francisco 2013-09-17 16:49:29

4

我不能讓matkins'答案通過RailsInstaller工作在Windows 7上,所以我想我會發布我爲別人的解決方案,從受益:(我沒有信譽提供這個作爲一個評論,所以我加入了新的答案)

c:\>rails -v 
Rails 4.0.0 

c:\>rails _3.2.8_ app1 &REM This is going to bug out 

取而代之,我發現此作品:

c:\>rails _3.2.8_ new app1 &REM This will work 
+0

是的..你的回答也是正確的..但你是尖尖的導軌3版本和markins是尖頭導軌<* 2版本..希望兩者都能工作。 – 2013-07-25 04:54:51

0

隨意修改首先在項目目錄中創建Gemfile指定的Rails所需版本,然後使用bundle exec rails ...使捆紮機採用的運轉軌道的相應版本的照顧。

mkdir myapp 
cd myapp 
echo "source 'https://rubygems.org'" > Gemfile 
echo "gem 'rails', '5.0.0.1'" >> Gemfile 
bundle install 

bundle exec rails new . --force --skip-bundle 

欲瞭解更多信息this

相關問題