Ruby 离线安装 Ruby

xlian · 2018年03月08日 · 最后由 DUZHENGZHI-github 回复于 2018年09月03日 · 5494 次阅读

第一种方法:先下载好 Ruby 对应版本的 binaries,然后放到 rvm 的 archives 文件夹下,再使用 rvm install [Ruby 版本号]

可以下载 binaries 的地址链接:

  1. https://rvm.io/binaries/

rvm 的 archives 文件夹目录一般是 ~/.rvm/archives 或者 /usr/local/rvm/archives

下载下来的 binaries 文件名比如说 ruby-2.5.0.tar.bz2,需要改成 bin-ruby-2.5.0.tar.bz2 后再放到 archives 目录下

最后,就可以直接使用 rvm install [ruby版本号] 离线安装 ruby 啦~~~

正常在线使用 rvm install, 会优先寻找 ruby binaries,因为这个安装速度会快很多。当然,也可以使用源码编译安装。


第二种方法:下载 source code,还是放到 rvm 的 archives 文件夹下,再使用 rvm install [Ruby 版本号]

可以下载 source code 的地址链接:

  1. https://cache.ruby-china.org/pub/ruby/
  2. https://ftp.ruby-lang.org/pub/ruby/
  3. https://cache.ruby-lang.org/pub/ruby/

注意:请下载以 .tar.bz2 为后缀的文件

最后,运行命令 rvm install ruby-x.x.x[ruby版本号] --disable-binaries --verify-downloads 2

运行过程中,会出现错误

其实这时候是已经安装好 ruby 的了,运行 gem -v 也能正确显示所安装 ruby 版本携带的 gem 版本号。

如果介意且想安装其他版本 rubygems 的话,可以预先下载比如 rubygems-2.7.6.tgz,然后放到 rvm 的 archive 目录下(即和 ruby 源码放置的路径一样,且必须以.tgz为后缀)。这时候再运行命令 rvm install ruby-x.x.x[ruby版本号] --disable-binaries --verify-downloads 2 --rubygems 2.7.6

或者干脆运行 rvm install ruby-x.x.x[ruby版本号] --disable-binaries --verify-downloads 2 --rubygems ignore, 这样也可以避免出现错误。


第三种方法:下载 source code,编译好后使用 rvm mount 命令把 ruby 置于 rvm 的管理下

进入解压后的源文件目录,运行以下命令:

$ ./configure
$ make
$ sudo make install

默认情况下,命令运行后会把 ruby 安装到 /usr/local,可以在 ./configure 后加上参数 --prefix=DIRDIR是你希望 ruby 安装的路径。

最后,rvm mount /path/to/your/ruby安装的位置 -n [ruby版本号]


最后的最后,比较推荐第一、二种方法。因为第三种方法最后 rvm list 会出现两个类似的 ruby 版本,一个以 ext- 开头,一个正常。

比如:

只有 ext-ruby-2.4.3 可用!

用楼主的第一种和第二种方法

$ rvm install 2.4.3 --rubygems 2.7.6
Searching for binary rubies, this might take some time.
No binary rubies available for: ubuntu/16.04/x86_64/ruby-2.4.3.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for ubuntu.
Requirements installation successful.
Installing Ruby from source to: /home/nie/.rvm/rubies/ruby-2.4.3, this may take a while depending on your cpu(s)...
ruby-2.4.3 - #downloading ruby-2.4.3, this may take a while depending on your connection...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0Warning: Transient problem: timeout Will retry in 2 seconds. 3 retries left.
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0Warning: Transient problem: timeout Will retry in 2 seconds. 2 retries left.
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0Warning: Transient problem: timeout Will retry in 2 seconds. 1 retries left.
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: cache.ruby-lang.org
There was an error(6).
Checking fallback: https://ftp.ruby-lang.org/pub/ruby/2.4/ruby-2.4.3.tar.bz2
No fallback URL could be found, try increasing timeout with:

    echo "export rvm_max_time_flag=20" >> ~/.rvmrc

There has been an error fetching the ruby interpreter. Halting the installation.

我也遇到这个问题 安装不成功 错误提示和你的一样 你怎么解决的?

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