欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

安装Ruby、多版本Ruby共存、Ruby安装慢问题

程序员文章站 2022-06-17 11:16:30
rbenv rbenv可以管理多个版本的ruby。可以分为3种范围(或者说不同生效作用域)的版本: local版:本地,针对各项目范围 global版:全局,没有shell和local版时使用global版 shell版:当前终端,只针对当前所在终端 查找优先级为 。 1.安装rbenv 2.安装r ......

rbenv

rbenv可以管理多个版本的ruby。可以分为3种范围(或者说不同生效作用域)的版本:

  • local版:本地,针对各项目范围

  • global版:全局,没有shell和local版时使用global版

  • shell版:当前终端,只针对当前所在终端

查找优先级为shell>local>global

1.安装rbenv

git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export path="$home/.rbenv/bin:$path"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $shell -l

2.安装ruby-build工作,可自动编译安装ruby。它可以作为rbenv的插件。

cd
git clone https://github.com/rbenv/ruby-build.git
prefix=/usr/local ./ruby-build/install.sh

3.选择ruby版本,安装ruby

rbenv install --list
rbenv install 2.6.2

4.如果慢,可以从https://cache.ruby-china.com/pub/ruby/将ruby对应版本文件下载下来,然后安装。但注意先设置环境变量,并且在此环境变量url之后加上特殊符号"#"或"?":

# 以ruby-2.6.2为例
wget https://cache.ruby-china.com/pub/ruby/2.6/ruby-2.6.2.tar.bz2 -p /root
ruby_build_mirror_url='file:///root/ruby-2.6.2.tar.bz2#' rbenv install 2.6.2 --verbose

如果编译失败,可能是少了一些依赖包,在编译失败的时候会提示你执行什么命令来安装这些包(非常人性)。比如需要readline-devel包。

yum -y install readline-devel

5.安装完ruby或切换了ruby之后,都需要执行rehash操作,让rbenv知道刚才新装了一个ruby。

rbenv rehash

6.设置ruby版本,即local版、global版、shell版

rbenv global 2.6.2

安装Ruby、多版本Ruby共存、Ruby安装慢问题

多版本ruby

上面已经装了一个ruby了,现在再装一个ruby 2.6.1:

# 以ruby-2.6.1为例
$ wget https://cache.ruby-china.com/pub/ruby/2.6/ruby-2.6.1.tar.bz2 -p /root

$ ruby_build_mirror_url='file:///root/ruby-2.6.1.tar.bz2#' rbenv install 2.6.1 --verbose

$ rbenv rehash

现在,就有了两个版本,可以使用rbenv versions命令查看(复数versions表示列出已装所有版本,单数version表示列出当前所使用的ruby版本)。

$ rbenv versions

现在,就可以通过rbenv [local | shell | global] version来设置多版本共存的ruby了。

比如:

$ rbenv local 2.6.1
$ rbenv version

rbenv命令行

$ rbenv --help
usage: rbenv <command> [<args>]

some useful rbenv commands are:
   commands    列出rbenv的所有命令列表
   local       设置或显示local application-specific ruby version
   global      设置或显示global ruby version
   shell       设置或显示shell-specific ruby version
   install     使用ruby-build安装指定的ruby版本
   uninstall   卸载指定版本
   rehash      rehash,每次安装完ruby后都要执行,否则rbenv不知道刚才新装ruby的信息
               (rbenv通过检查~/.rbenv/shims来获取ruby信息)
   version     显示当前ruby版本
   versions    显示所有已装ruby版本
   which       显示ruby命令的全路径
   whence      列出包含该可执行命令的所有ruby版本

see `rbenv help <command>' for information on a specific command.
for full documentation, see: https://github.com/rbenv/rbenv#readme

完整的命令列表可查看rbenv commands,各命令使用方法,可查看rbenv help command