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

2013-06-10 14:37:15
问题评论:

回答:

使用-v标记︰

$ gem install fog -v 1.8

如果和我一样,您以前安装您的 gem 的更高版本,则必须卸载较新的版本,例如gem uninstall fog与。它会询问您要卸载如果您有多个版本。

我有 3 种 rake: gem list | grep rake = rake (10.1.1, 10.1.0, 0.8.7).我有滑轨 2.3.5 项目,另一个是 3.0 我正在处理的.我如何使用 rake 的特定版本的每个项目 (即在命令行吗?)

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

$ gem install rails -v 0.14.1

您还可以使用类似的版本 comparators >=~>

$ 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

这对于处理 ~ >,但如果您有 < 0.9,> = 0.7 类型的情况?我尝试应用两个 v 参数和而言,第一个将被忽略。使用逗号分隔符不甚至分析。我最终删除较大的需求和它恰巧安装一个可接受的版本,但有正式的解决方案就好了。

对于 Ruby 1.9 + 使用冒号。

gem install sinatra:1.4.4 prawn:0.13.0

异常,这不总是工作...

哪种 gem (和版本) 是否尝试安装?

嗯.它的工作对我来说︰ pastie.org/9236950

请告诉我输出的gem sources,是否为空,将添加使用此命令 repo: gem sources -a https://rubygems.org/

gem -v显示与您2.2.2 1.8.23看起来这项功能是新:)

如其他人已经指出的在一般使用-v标记的gem install命令。

如果正在开发本地,gem 后剪切 gem 时,系统从您 gemspec:

$ gem install gemname-version.gem

假定版本 0.8,它将如下所示︰

$ gem install gemname-0.8.gem

答得好。我建议您添加另一个代码块标志"-v"不过选项。当我的眼睛阅读答案他们立即变得对这些代码块并不是周围环绕的文本。如果其他用户执行相同的操作很想念"-v"部分。

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安装全局。或者,如果您命令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.
    
  • 如果您希望安装某些 gem 全球并且有 rvm 已经安装,您可以尝试︰

    rvmsudo gem install [gemname]
    

    而不是:

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

注意︰ 它的未使用 sudo 使用 RVM gem 的首选。当您执行 sudo 以 root 身份,在另一个 shell 中的另一个用户运行命令并 RVM 已经为您安装的所有因此忽略运行 sudo 命令时 (诸如 GEM_HOME 等。..)。因此,若要重申,只要您 sudo 这样将清除根系统用户身份运行出您的环境,以及其创建任何文件将不能由用户进行修改,并会在奇怪的事情发生。

请输入您的翻译

How to install a specific version of a ruby gem?

确认取消