[英]Ruby: How to install a specific version of a ruby gem?
使用命令行gem
工具,如何安装特定版本的 gem?
使用-v
标志:
$ gem install fog -v 1.8
使用--version
参数(快捷键-v
):
$ gem install rails -v 0.14.1
…
Successfully installed rails-0.14.1
您还可以使用版本比较器,例如>=
或~>
$ gem install rails -v '~> 0.14.0'
…
Successfully installed rails-0.14.4
使用较新版本的rubygems,您可以收紧您的要求:
$ gem install rails -v '~> 0.14.0, < 0.14.4'
…
Successfully installed rails-0.14.3
一段时间以来,您还可以指定多个 gem 的版本:
$ gem install rails:0.14.4 rubyzip:'< 1'
…
Successfully installed rails-0.14.4
Successfully installed rubyzip-0.9.9
但这不适用于每个宝石(还)一个以上的比较器。
用于安装gem install gemname -v versionnumber
对于卸载gem uninstall gemname -v versionnumber
对于 Ruby 1.9+ 使用冒号。
gem install sinatra:1.4.4 prawn:0.13.0
正如其他人所指出的,通常在gem install
命令中使用-v
标志。
如果您在本地开发 gem,在从您的 gemspec 切割 gem 之后:
$ gem install gemname-version.gem
假设版本 0.8,它看起来像这样:
$ gem install gemname-0.8.gem
您可以使用-v
或--version
标志。 例如
gem install bitclock -v '< 0.0.2'
要指定上下版本边界,您可以指定--version
标志两次
gem install bitclock -v '>= 0.0.1' -v '< 0.0.2'
或使用语法(例如)
gem install bitclock -v '>= 0.0.1, < 0.0.2'
另一种方法是
gem install bitclock:'>= 0.0.1'
但是对于最后一个选项,不可能同时指定上边界和下边界。
[宝石 3.0.3 和红宝石 2.6.6]
Linux
要安装不同版本的 ruby,请使用apt
检查最新版本的软件包,如下所示:
$ apt-cache madison ruby
ruby | 1:1.9.3 | http://ftp.uk.debian.org/debian/ wheezy/main amd64 Packages
ruby | 4.5 | http://ftp.uk.debian.org/debian/ squeeze/main amd64 Packages
然后安装它:
$ sudo apt-get install ruby=1:1.9.3
要检查当前版本是什么,请运行:
$ gem --version # Check for the current user.
$ sudo gem --version # Check globally.
如果版本仍然旧,您可以尝试使用 ruby 版本管理器 ( rvm
) 通过以下方式将版本切换到新版本:
rvm 1.9.3
注意:如果rvm
是全局安装的,您可以使用sudo
rvm
前缀。 或者,如果您的命令rvm
不在您的全局PATH
则运行/usr/local/rvm/scripts/rvm
。 如果 rvm 安装过程失败,请参阅故障排除部分。
故障排除:
如果您仍然拥有旧版本,您可以尝试通过以下方式安装 rvm(ruby 版本管理器):
sudo apt-get install curl # Install curl first curl -sSL https://get.rvm.io | bash -s stable --ruby # Install only for the user. #or:# curl -sSL https://get.rvm.io | sudo bash -s stable --ruby # Install globally.
然后如果安装在本地(仅适用于当前用户),请通过以下方式加载 rvm:
source /usr/local/rvm/scripts/rvm; rvm 1.9.3
如果是全局的(对于所有用户),则:
sudo bash -c "source /usr/local/rvm/scripts/rvm; rvm 1.9.3"
如果您仍然对新的 ruby 版本有问题,请尝试通过 rvm 通过以下方式安装它:
source /usr/local/rvm/scripts/rvm && rvm install ruby-1.9.3 # Locally. sudo bash -c "source /usr/local/rvm/scripts/rvm && rvm install ruby-1.9.3" # Globally.
如果你想全局安装一些 gems 并且你已经安装了 rvm,你可以尝试:
rvmsudo gem install [gemname]
代替:
gem install [gemname] # or: sudo gem install [gemname]
注意:最好不要使用 sudo 来处理 RVM gems。 当您执行 sudo 时,您以 root 身份运行命令,另一个 shell 中的另一个用户以及因此在 sudo 下运行命令时 RVM 为您完成的所有设置都将被忽略(例如 GEM_HOME 等)。 所以重申一下,一旦您“sudo”,您就以 root 系统用户身份运行,这将清除您的环境以及它创建的任何文件,您的用户无法修改,并会导致奇怪的事情发生。
在安装之前,您可以使用 list 命令检查可用版本。
gem list ^[gemname]$ --remote --all
gem install [gemname] -v [version]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.