首页 文章

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

提问于
浏览
711

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

6 回答

  • 157

    用于安装 gem install gemname -v versionnumber

    用于卸载 gem uninstall gemname -v versionnumber

  • 955

    使用 -v 标志:

    $ gem install fog -v 1.8
    
  • 69

    使用 --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
    
  • 19

    对于Ruby 1.9使用冒号..

    gem install sinatra:1.4.4 prawn:0.13.0
    
  • 6

    正如其他人所指出的那样,通常使用 -v 标志作为 gem install 命令 .

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

    $ gem install gemname-version.gem
    

    假设版本为0.8,它看起来像这样:

    $ gem install gemname-0.8.gem
    
  • 46

    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 不在您的全局 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.
    
    • 如果你想全局安装一些宝石并且你已经安装了rvm,你可以尝试:
    rvmsudo gem install [gemname]
    

    代替:

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

    注意:最好不要使用sudo来处理RVM宝石 . 当您执行sudo时,您正在以root身份运行命令,另一个用户在另一个shell中运行,因此当命令在sudo下运行时(例如GEM_HOME等等),RVM为您完成的所有设置都将被忽略 . 所以重申一下,一旦你'sudo'你作为root系统用户运行,它将清除你的环境以及它创建的任何文件都不能被你的用户修改,并将导致奇怪的事情发生 .

相关问题