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 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。
热门工具 换一换