使用命令行gem
工具,如何安装特定版本的 gem?
7 回答
使用-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
正如其他人所指出的,通常将-v
标志用于gem install
命令。
如果您正在本地开发宝石,则在从 gemspec 中切割出宝石后:
$ gem install gemname-version.gem
假设版本 0.8,它看起来像这样:
$ gem install gemname-0.8.gem
您可以使用-v
or--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
注意:您可以在它前面加上sudo
ifrvm
已全局安装。或者,/usr/local/rvm/scripts/rvm
如果您的命令rvm
不在您的 global 中,则运行PATH
。如果 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 gem。当您执行 sudo 时,您是以 root 身份运行命令,另一个 shell 中的另一个用户,因此当命令在 sudo 下运行时,RVM 为您完成的所有设置都将被忽略(例如 GEM_HOME 等)。因此,重申一下,一旦您“sudo”以 root 系统用户身份运行,这将清除您的环境以及它创建的任何文件,您的用户无法修改并导致奇怪的事情发生。