Ruby 离线安装 Ruby

xlian · March 08, 2018 · Last by DUZHENGZHI-github replied at September 03, 2018 · 5340 hits

第一种方法:先下载好 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.

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

You need to Sign in before reply, if you don't have an account, please Sign up first.