如何安装一个特定版本的ruby?

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

使用-v标志:

 $ gem install fog -v 1.8 

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

对于Ruby 1.9+使用冒号

 gem install sinatra:1.4.4 prawn:0.13.0 

安装gem install gemname -v versionnumber

卸载gem uninstall gemname -v versionnumber

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

如果你在本地开发一个gem,在从gemspec中切出一个gem之后:

 $ gem install gemname-version.gem 

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

 $ gem install gemname-0.8.gem 

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版本pipe理器( rvm )将版本切换到新版本:

 rvm 1.9.3 

注意:如果rvm是全局安装的,你可以用sudo来加前缀。 或者如果你的命令rvm不在你的全局PATH运行/usr/local/rvm/scripts/rvm 。 如果rvm安装过程失败,请参阅故障排除部分。


故障排除:

  • 如果你仍然有旧版本,你可以尝试通过以下方式安装rvm(ruby版本pipe理器):

     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中的另一个用户,因此RVM为你完成的所有设置在sudo下运行(比如GEM_HOME,等等)。 所以要重申一下,只要你“sudo”你作为根系统用户运行,它将清除你的环境以及它创build的任何文件都不能被你的用户修改,并会导致奇怪的事情发生。