繁体   English   中英

如何“激活”特定宝石的不同版本?

[英]How do I “activate” a different version of a particular gem?

我想在rails 2.3.10之间切换为我的操作系统的“活动”gem,以便我可以在命令行调用它。

是否有可能做到这一点? 我没有使用rvm。 也许是时候开始了。

我尝试了gem install rails --version=2.3.10 ,但这只是确保安装了gem的版本,它没有把它放在/usr/bin/rails

(我已经为我的应用程序使用了bundler - 但直到现在才对操作系统级别的宝石进行任何精确控制)

如果您的问题是运行某个版本的二进制文件,那么:

rails --version # => the latest version
rails _2.3.10_ --version # => Rails 2.3.10

此模式( gem-binary _gem-version_ )适用于任何gem二进制文件。

希望能帮助到你。

使用RVM

RVM允许您管理不同版本的Ruby和Gems。 例如,您可以使用ruby版本安装

rvm install 1.9.2

然后您可以使用它:

rvm use 1.9.2

使用gemsets在每个项目的基础上使用特定的gem。

如果你想要进一步的命名空间,你可以设置gemsets; 将包含特定项目的特定gem的目录。

rvm gemset create myproject

然后你可以这样使用它们:

rvm use 1.9.2@myproject

自动化

要自动切换gems的过程,请在项目根目录中弹出.ruby-version.ruby-gemset文件。 弹出Ruby的版本和要在其中使用的gemset的名称,RVM将在您进入项目目录时选择正确的gemset。

将gem安装到gemset中

如果您正在使用它,请使用bundler以常规方式将gem安装到gemset中:

bundle install

或者只是使用常规旧:

gem install mygem

宝石将进入正确的宝石。

RVM替代品

您可能还想查看rbenv,它可以完成类似的工作。

您可以使用RVM

然后你也可以使用Bundler ,它可以很好地管理gem依赖。

在你的Gemfile

gem "rails", "2.3.10"

并在您的申请中

require 'rubygems'
require 'bundler/setup'

你完成了

编辑:刚刚在帖子中看到了你的RVM提及。 绝对是要走的路。

您将要安装RVM - 这是一个惊人的包,可以让您在同一台机器上管理不同的Rubys和不同的宝石。 您可以轻松来回切换。

这是安装指南: http//rvm.beginrescueend.com/rvm/install/

一旦你搞定了所有内容,你可以在命令行中看到所有已安装的rubys,并使用rvm list ,然后使用rvm use ruby-head切换rvm use ruby-head RVM将每个ruby上的gem保持独立,这应该有助于你的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM