如何安装特定版本的ruby gem?

时间:2013-06-10 14:37:15

标签: ruby gem

使用命令行gem工具,如何安装特定版本的gem?

8 个答案:

答案 0 :(得分:1036)

使用-v标志:

$ gem install fog -v 1.8

答案 1 :(得分:176)

使用--version参数(快捷键-v):

$ gem install rails -v 0.14.1

您还可以使用>=~>

等版本比较器
$ gem install rails -v '~> 0.14.0'

或者使用较新版本的 gem 甚至:

$ gem install rails:0.14.4 rubyzip:'< 1'
…
Successfully installed rails-0.14.4
Successfully installed rubyzip-0.9.9

答案 2 :(得分:70)

对于Ruby 1.9+使用冒号..

gem install sinatra:1.4.4 prawn:0.13.0

答案 3 :(得分:61)

安装 gem install gemname -v versionnumber

用于卸载 gem uninstall gemname -v versionnumber

答案 4 :(得分:20)

正如其他人所说,通常使用-v命令的gem install标志。

如果你在gemspec切割宝石后在本地开发宝石:

$ gem install gemname-version.gem

假设版本为0.8,它将如下所示:

$ gem install gemname-0.8.gem

答案 5 :(得分:7)

<强>的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,则可以rvm为前缀。如果您的命令/usr/local/rvm/scripts/rvm不在您的全局rvm中,请运行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.
    
  • 如果你想全局安装一些宝石并且你已经安装了rvm,你可以尝试:

    rvmsudo gem install [gemname]
    

    而不是:

      gem install [gemname] # or:
      sudo gem install [gemname]
    
  

注意:首选不使用sudo来处理RVM gem。当你这样做   sudo你以root身份运行命令,另一个shell运行另一个用户   因此,忽略了RVM为您完成的所有设置   该命令在sudo下运行(例如GEM_HOME等等)。所以   重申,一旦你'sudo'你作为根系统运行   用户将清除您的环境以及任何文件   创建无法由您的用户修改,并将导致   发生了奇怪的事情。

答案 6 :(得分:3)

您可以使用tags.map((tag) => { if (tag !== findTag) { return null; } return ( <a href="/some" onClick={getFilterTags} className="grouptechtags" style={({ backgroundColor: `${showColor}` }, { marginRight: '10px' })} key={tag} > {tag} </a> ); }); -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'

但使用最后一个选项时,无法同时指定上下边界。

[宝石3.0.3和红宝石2.6.6]

答案 7 :(得分:1)

使用 -v 标志指定版本号

gem install rails -v 5.0.0