如果我同时拥有Rails 2.3.8和3.0.0(作为宝石),我可以轻松地在它们之间切换吗?

时间:2010-10-10 14:22:28

标签: ruby-on-rails rubygems

在Ubuntu上,如果使用

安装Rails 3.0
sudo gem install rails

然后安装了Rails 2.3.8:

sudo gem install -v 2.3.8 rails

现在系统同时拥有Rails 2.3.8和3.0.0。但如果将以下内容输入bash:

rails -v

然后3.0.0将显示。有没有办法改用2.3.8呢?

4 个答案:

答案 0 :(得分:3)

我建议您查看RVM工具,尤其是gemsets功能。

答案 1 :(得分:2)

就像上面针对environment.rb中的rails 2.3应用程序所说的那样

RAILS_GEM_VERSION = '2.3.8' unless defined? RAILS_GEM_VERSION

对于rails 3,您使用bundler Gemfile

gem 'rails', '3.0.0'

上面的内容足够

一般建议,安装rvm。

bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )

将此添加到〜/ .profile。

$ [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"

现在重新加载配置文件,以便终端知道rvm。

$ source .profile

运行这些。

$ rvm install 1.9.2      (this installs ruby 1.9.2-p0, the latest)
$ rvm 1.9.2 --default    (this sets the default implementation of ruby)
$ gem install rails
$ gem install rails -v=2.3.8 

你会很高兴去,如果你不使用rvm,请相信我,你不知道你错过了什么。然后如上所述,宝石集也在这里查找http://rvm.beginrescueend.com/gemsets/

答案 2 :(得分:1)

将其放入environment.rb文件

RAILS_GEM_VERSION = '2.3.8' unless defined? RAILS_GEM_VERSION

如果您正在讨论从shell启动rails可执行文件,那么只需指定正确的路径即可。一旦2.3​​.8可执行文件启动,我认为它不能以某种方式找到并将控制转移到3.0.0可执行文件。

答案 3 :(得分:0)

我也在敏捷书中找到了一种方法:

rails _2.3.8_ -v

它会说它是版本2.3.8,虽然我不知道与使用RVM相比,这种方法有多好(它隔离了两个版本的Rails)。