我想在rails 2.3.10之间切换为我的操作系统的“活动”gem,以便我可以在命令行调用它。
有可能这样做吗?我没有使用rvm。也许是时候开始了。
我尝试了gem install rails --version=2.3.10
,但这只是确保安装了gem的版本,而不是将其放在/usr/bin/rails
中。
(我已经为我的应用程序使用了bundler - 但到目前为止还没有对操作系统级别的宝石进行任何精确控制)
答案 0 :(得分:145)
如果您的问题是运行某个版本的二进制文件,那么:
rails --version # => the latest version
rails _2.3.10_ --version # => Rails 2.3.10
此模式(gem-binary _gem-version_
)适用于任何gem二进制文件。
希望它有所帮助。
答案 1 :(得分:10)
RVM允许您管理不同版本的Ruby和Gems。您可以使用例如
安装ruby版本rvm install 1.9.2
然后您可以使用:
rvm use 1.9.2
如果您想要进一步的命名空间,可以设置gemsets;将包含特定项目的特定gem的目录。
rvm gemset create myproject
那么你可以这样使用它们:
rvm use 1.9.2@myproject
要自动切换宝石,请在项目根目录中弹出 .ruby-version 和 .ruby-gemset 文件。弹出Ruby的版本和你想在其中使用的gemset的名称,RVM将在你进入你的项目目录时选择正确的gemset。
如果您正在使用它,请使用bundler以常规方式将gem安装到gemset中:
bundle install
或仅使用常规旧:
gem install mygem
宝石将进入正确的宝石集。
您可能还想查看rbenv,它可以完成类似的工作。
答案 2 :(得分:7)
您可以使用RVM
然后你也可以使用Bundler来管理gem依赖关系。
在Gemfile
gem "rails", "2.3.10"
并在您的申请中
require 'rubygems'
require 'bundler/setup'
你已经完成了。
答案 3 :(得分:3)
你将要安装RVM - 这是一个惊人的包,可以让你在同一台机器上管理不同的Rubys和不同的宝石。您可以轻松来回切换。
以下是安装指南:http://rvm.beginrescueend.com/rvm/install/
一旦你搞定了所有内容,你可以在命令行中看到所有已安装的rubys,并使用rvm list
,并切换为rvm use ruby-head
。 RVM将每个红宝石上的宝石分开,这应该有助于你的问题。