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

默认情况下,安装是很慢的,因为要从官方下载源码包进行编译,下载的过程非常慢。所以,参见后面解决rbenv安装慢问题。

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

解决rbenv安装慢问题

方案1

如果慢,可以从 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 ~
RUBY_BUILD_MIRROR_URL='file:///~/ruby-2.6.2.tar.bz2#' rbenv install 2.6.2 --verbose# 另:也可以设置代理https_proxy=IP:PORT加速下载

方案2

从 https://cache.ruby-china.com/pub/ruby/ 将ruby对应版本文件下载下来,将文件丢到~/.rbenv/cache目录下。

注意点:

  1. ~/.rbenv/cache目录可能不存在,需要先创建
  2. 下载保存下来的版本可能不是rbenv install时所需的版本,因为同一个版本的文件有.tar.bz2的,有.tar.xz的等等,rbenv对安装不同的ruby版本使用的文件后缀可能不一样(可以先执行以下rbenv install 2.6.3后立马ctrl+c,再去下载显示出来对应后缀的包),所以可能需要下载多个后缀的版本文件丢到cache目录下

以下是一个过程示例:

#  先rbenv install看看使用什么后缀的版本文件
# 这里显示的是使用.tar.bz2后缀的文件
$ rbenv install 2.6.2
Downloading ruby-2.6.2.tar.bz2...
^C# 所以下载.tar.bz2的文件
$ wget 'https://cache.ruby-china.com/pub/ruby/2.6/ruby-2.6.2.tar.bz2' -P ~/.rbenv/cache# 安装即可
$ rbenv install 2.6.2

方案3

有时候上面的方法会失效,不同版本可能不一样。但是,这里可以使用一个"安道"写的rbenv插件,让rbenv直接使用中国的镜像站点下载。直接执行下面的命令即可。

git clone https://github.com/andorchen/rbenv-china-mirror.git "$(rbenv root)"/plugins/rbenv-china-mirror

多版本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 versionglobal      设置或显示global Ruby versionshell       设置或显示shell-specific Ruby versioninstall     使用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

转载于:https://www.cnblogs.com/f-ck-need-u/p/10805521.html

安装Ruby、多版本Ruby共存、Ruby安装慢问题相关推荐

  1. 多版本python共存,安装三方库到指定python版本 多Python版本和虚拟环境

    多个Python版本:在同一台机器上安装不同的Python,例如2.7和3.4. 虚拟环境:独立的环境,既可以同时安装特定版本的Python,也可以安装任何特定于项目的软件包,而不会影响任何其他项目. ...

  2. python官网下载安装教程-各种版本的Python下载安装教程

    python从17年开始大火,自然想学python的同学就多了,小编整理了这篇文章,从python的功能介绍.各系统最新版本python下载.python全部版本下载.python下载后安装教程以及p ...

  3. python新版下载安装_各种版本的Python下载安装教程

    python从17年开始大火,自然想学python的同学就多了,小编整理了这篇文章,从python的功能介绍.各系统最新版本python下载.python全部版本下载.python下载后安装教程以及p ...

  4. mac安装了多版本php 卸载,mac 安装多版本PHP

    前言 相信大家在mac 安装PHP多版本的时候也遇到了很多坑 # brew install php56 # brew install php70 这样安装的话肯定会报错的,因为brew存在软连接 这个 ...

  5. python下载无法安装_各种版本的python下载安装教程

    关键时刻,第一时间送达! 先不说楚枫的这般年纪,能够踏入元武一重说明了什么,最主要的是,楚枫在刚刚踏入核心地带时,明明只是灵武七重,而在这两个月不到的时间,连跳两重修为,又跳过一个大境界,踏入了元武一 ...

  6. macos 安装python3.8 版本_用python安装cutadapt程序

    昨天用ubuntu安装了cutadapt,但是在之后的程序运行中,还是行不通.因此,今天还是在win10下用python来进行安装. --------------------------------- ...

  7. deepin linux 2014安装,2014.2版本的Deepin虚拟机安装浅谈(就是深度Linux)

    最近更新:3rd 1月, 2015 依稀记得我在七年前开始追开源,那时候有Everest,有红旗,还有银河麒麟.当时觉得中文Linux发行版前途一片大好,自己也曾混迹于Linux-ren,百度贴吧百度 ...

  8. 安装解压版本的MySQL,安装过程中的常见命令,检查windows系统错误日志的方式来检查MySQL启动错误,关于Fatal error: Can't open and lock privilege

    安装mysql 下载mysql-5.6.26-winx64,并解压到:D:\Installed\mysql-5.6.26-winx64\mysql-5.6.26-winx64 创建data目录 创建m ...

  9. 查看python安装了什么版本的类库和安装新的类库

    在 anaconda prompt 中输入pip list 在 anaconda prompt 中输入 pip install + 类库名

  10. 在ubuntu上安装最新稳定版本的node及npm

    背景 通过ubuntu官方apt安装工具安装的node是最新LTS版本的,而本人是个有点强迫症的人,喜欢追求新的东西,也就是想方设法想要去安装最新版本的node,所以本文也就产生了,附上ubuntu安 ...

最新文章

  1. python基础教程【目录】
  2. C#正则表达式判断是否为IP地址
  3. 小米6指主板图示_小米MIX2手机不开机,修过没修好,通病问题教你一坨锡就能搞定...
  4. 对 VR 头显 HTC VIVE 的调研
  5. 前端学习(2636):文件缺失
  6. python画带状图_13个使用Matplotlib实现数据可视化的Python代码
  7. python画图代码大全-Python Matplotlib 绘图使用指南 (附代码)
  8. 视频转换大师免费版|视频转换大师免费版下载 v9.3.6
  9. 莽荒纪手游源码/服务端!
  10. R plot图片背景设置为透明_R语言(绘图入门)
  11. ADS学习:谐波分析和参数扫描
  12. 迅雷5官方最新版免费下载
  13. 麒麟KY-RTI分布仿真技术:第三章 KY-OMT对象模型模板工具
  14. 拼多多软件测试开发,拼多多事件对我们业务测试的启发
  15. IE8中怎样使用脚本隐藏弹出窗口的地址栏
  16. 录音笔新燃点:AI+创新 实现应用场景再迭代
  17. 推荐 :数据科学与大数据技术专业特色课程研究
  18. android 禁用触摸屏,Touch Protector-安卓禁用手机触摸屏软件
  19. 农村中学扩建工程全套CAD施工图哪里找?
  20. webrequest、httpwebrequest、webclient、HttpClient 四个类的区别?

热门文章

  1. Meta Learning 入门:MAML 和 Reptile
  2. tuio+ 图片拼接软件制作方法
  3. GIS常用数据平台网站
  4. 设计师谈中望CAD2010应用心得 作者:刘国勤
  5. Java——Session使用
  6. 专访Token经济设计专家叶开:Token设计画布与10大设计模式
  7. html中什么字体的英文好看,英语字体有哪些?英语哪种字体最好看
  8. 影响世界的77部文学名著
  9. 读取本地文件assets内容
  10. MATLAB激活时填错Windows用户名怎么办?