运维 阿里云 Ubuntu 服务器的 Ruby 安装 rbenv 很慢解决办法

hunter · 2016年10月22日 · 最后由 hunter 回复于 2016年10月23日 · 8804 次阅读

在阿里云服务器里面,数次按照 rbenv 安装,发现等不起后杀死窗口,太慢了。

慢的原因有两个:

  1. 下载太慢 - 因为阿里云链接国外这些资源速度慢
  2. 下载后安装太慢 - 这个无解,因为 1 核 2G 的配置,不知道是不是硬件配置的问题,慢了只能等,大约要等 10 分钟,吃了个晚饭过来后装好了。

下载太慢的解决办法 - 利用 rbenv cache 安装

  1. 在.rbenv 下面建立一个 cache 文件夹

  2. 找到国内的镜像

  3. https://ruby.taobao.org/mirrors/ruby/2.3/

  4. wget https://ruby.taobao.org/mirrors/ruby/2.3/ruby-2.3.1.tar.bz2

  • env RUBY_BUILD_MIRROR_URL=file:///home/root/.rbenv/cache/ruby-2.3.1.tar.bz2# ~/.rbenv/bin/rbenv install 2.3.1
  • 或者你直接安装 rbenv install 2.3.1 即可,因为从 cache 中已经可以读取了。

你可以看到,Ruby 下载的步骤没有了,直接显示 Installing ruby-2.3.1...

最后终于显示 Installed ruby-2.3.1 to /root/.rbenv/versions/2.3.1

这里用了 root 做目录,大家最好用用户目录。

自己安装 ruby 参考 https://gorails.com/setup/ubuntu/14.04 发现编译很慢,实在等不起,杀掉,我真怀疑阿里云机器的性能,只能怀疑下。

分享一下,以方便大家,没有想到安装一个 ruby 也这么苦逼,以前都是很简单的。

  • rbenv local 2.3.1
  • rbenv global 2.3.1

装了以后发现路径中没有 ruby path,你只需要

rbenv init

然后把提示中的语句 eval "$(rbenv init -)" 加入到.bash_profile,重启 bash 就搞定。

再接下去,发现 gem install bundler 也很慢,这个好解决 gem sources 发现是 rubygems

下面就可以 bundle install 了,速度就是飞一般快了。

@rei ,刚才找 ruby 的源,没有找到,谢谢提供一个靠谱的!

4 楼 已删除

为什么要用 rbenv?既然在云上了,就尽量用云的镜像,否则你下 ruby gem,他下 maven,云的网络资源就全被耗光了。

ubuntu 16.04.1 已经是最新的 Ruby 2.3.1,完全不需要额外下载。而 Ruby gem 如果用了国内镜像还是很慢就要考虑用 bundle cache 方法,预先下载手动上传。

@nouse, 实验性的部署下,后面准备用 docker,不想用云镜像。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号