2011-05-27 58 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

相关问题