如何为项目设置默认的Rails版本?

18

我在我的系统(Fedora)中安装了两个不同的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版本设置为默认版本?

8个回答

31

要使用比您安装的最新版本更旧的版本,只需在版本号两侧添加下划线:

rails _1.2.1_ myproject


1
我不知道是否有一种方法可以将其设置为系统范围内的默认值。您可以使用bash别名或类似功能,例如alias rails="rails _1.2.1_" - matkins
谢谢@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”。 - Mr. Black
你能提供更多关于错误的细节吗?这可能值得再问一个关于此问题的问题,因为它似乎是一个不同的问题。 - matkins

5

我无法通过在Windows 7上使用RailsInstaller获得Matkins的答案,因此我认为我会发布我的解决方案以使其他人从中受益:(我没有声望来评论,所以我添加了一个新答案)

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

是的,你的回答也是正确的。但是你指出的是Rails 3版本,而Markins指出的是Rails小于2的版本。希望这两个版本都能工作。 - Mr. Black

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

3

正如 @Shaun 在 这篇文章中提到的,你可以同时使用多个版本的Rails和Ruby!
要使用特定版本的ruby:

rvm use 1.9.3 --default

使用Switch--default将此版本设置为Ruby的默认版本。
要使用特定的Rails和Ruby版本:

rvm gemset create rails-3.2.3
rvm use 1.9.3@rails-3.2.3 --default
gem install rails

第一行创建了一个 gemset 并在 /home/username/.rvm/gems/ 下创建了相关文件夹。
第二行将该 gemset 设置为默认的 gemset。
第三行在相关文件夹中安装指定版本(Rails 3.2.3)。

这是我 gems 文件夹的内容:

cache  ruby-1.9.3-p194  ruby-1.9.3-p194@global  ruby-1.9.3-p194@rails-3.2.3

初始文件夹为ruby-1.9.3-p194@global。 因此,要返回到先前的状态,只需运行:

rvm use 1.9.3@global

您可以查看以前的Rails和Ruby版本 :)

祝好运


一切都很顺利,直到我尝试安装特定版本的 Rails (3.2.6)。即使我指定了 Rails 版本,gem 仍然安装了版本 4.0.0,有什么建议吗? - Francisco Quintero
要安装 Rails 3.2.6,请使用命令 gem install rails -v 3.2.6 - Francisco Quintero
请确保您使用 rvm 设置了正确的 gemset 作为活动状态(而不是安装在其他 gemset 上)。如果问题仍然存在,请发布一个新的问题。 - S.M.Mousavi

1
使用以下命令创建特定版本的Rails项目: 类似于matkins所建议的。
rails _5.0.7.2_ new <project_name>

0
在你的config/environment.rb文件中,对于旧版本,请将以下内容放在开头:

RAILS_GEM_VERSION = '1.2.1'

对于新版本,请将以下内容放在开头:

RAILS_GEM_VERSION = '3.0.5'


-1

这是一个通用的格式示例。如有需要,请随意修改

    rvm use ruby-2.1.0@rails4.2

-3

首先安装了rvm(rails版本管理器), 然后输入以下命令。 rvm 1.2.1


这是不正确的。RVM代表Ruby版本管理器,与Rails本身无关。 - Francisco Quintero

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接