RVM/rbenv 优化国内 rvm 安装速度

DaisyWuDi · 2020年09月15日 · 最后由 DaisyWuDi 回复于 2020年10月07日 · 5688 次阅读

测试环境:阿里云 ECS,Centos 7.8

测试时间:2020-09-26

参照rvm 官方文档说明,正常两步就能搞定 rvm 安装:

# 第一步、获取gpg2秘钥(可能需要执行两遍)
$ gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
# 第二步、安装rvm
$ \curl -sSL https://get.rvm.io | bash -s stable

可是由于网络原因,国内有时无法正常访问raw.githubusercontent.com,导致出现以下错误:

curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused

甚至出现:

curl: (7) Failed connect to api.github.com:443: Connection refused

此问题可以解决,但影响安装体验~~~

查看了一下从https://get.rvm.io获取的安装脚本内容,rvm 安装源配置:

DEFAULT_SOURCES=(github.com/rvm/rvm bitbucket.org/mpapis/rvm)

优先从 github.com 获取 rvm 安装包,失败再从 bitbucket.org 获取 rvm 安装包。

测试发现 bitbucket.org 的访问成功率比 github.com 要高,如果调整一下配置:

DEFAULT_SOURCES=(bitbucket.org/mpapis/rvm github.com/rvm/rvm)

安装体验会稍好点~~~

然并不满足,细看了一下安装脚本,如果把 rvm 官方安装包转存至国内 OSS,如七牛云或阿里云,那岂不是更快~

由于七牛云有免费空间,故选了七牛云做测试。

将这种想法实现,写了一个小项目:https://github.com/Amberwudi/my_rvm_installer

现在安装 rvm 可以换成以下命令:

# 第一步、获取gpg2秘钥(可能需要执行两遍)
$ gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
# 第二步、安装rvm
$ \curl -sSL http://qiniu.forqian.cn/blue_dream_tools/my_rvm_installer/rvm-installer.txt | bash -s stable
# 或(更简洁)
$ \curl -sSL http://qiniu.forqian.cn/rvm-installer.txt | bash -s stable

比原来快很多,哈哈~~~

如果你信任本项目的开发者,也可以试试。

  • 如果有搭配 Tmux 使用,然後有遇到 環境變數的困擾的話。

https://github.com/rvm/rvm/issues/3270#issuecomment-692173416

huacnlee 回复

结合 RubyChina wiki 和官方文档写的一篇《Ruby 开发环境搭建》帮助文档。希望对 New Rubyist 有帮助~~~

还有一个方法就是修改 hosts 文件

sudo vi /etc/hosts
151.101.108.133 raw.githubusercontent.com

太棒了!👍

之前在 mac 上就因为这个网络原因,不得不放弃 rvm。

xiaoxiao 回复

一直在用改 host 的方法,哈哈哈~

改 host 可行,期望对 New Rubyist 友好~ 《Ruby 开发环境搭建》帮助文档已涵盖。

我也是一直改 host。 Ubuntu 上的话,用 apt 来安装,速度还行。

换成 docker,想用啥版本,改下 dockerfile 就行

对新手挺友好的,棒棒哒啊,加油!

安装 rvm 确实是快了,但 rvm 安装 ruby 还是慢啊

flyweights 回复

解决的不是一个问题哈~ 参考 rubychina wiki 替换 ruby 安装源,或我发的《Ruby 开发环境搭建》

DaisyWuDi 关闭了讨论。 10月21日 16:57
需要 登录 后方可回复, 如果你还没有账号请 注册新账号