安装 Ruby 2.2.6 时 macOS Sierra 的 RVM 问题

RVM issue with macOS Sierra while installing Ruby 2.2.6

我是 运行 OSX (10.12.3),我安装了 Ruby (2.2.2),运行良好。我正在尝试使用 RVM 升级到 2.2.6。安装似乎很顺利。

  - rvm install 2.2.6
Searching for binary rubies, this might take some time.
No binary rubies available for: osx/10.12/x86_64/ruby-2.2.6.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for osx.
Certificates in '/usr/local/etc/openssl/cert.pem' are already up to date.
Requirements installation successful.
Installing Ruby from source to: /location/.rvm/rubies/ruby-2.2.6, this may take a while depending on your cpu(s)...
ruby-2.2.6 - #downloading ruby-2.2.6, this may take a while depending on your connection...
ruby-2.2.6 - #extracting ruby-2.2.6 to /location/.rvm/src/ruby-2.2.6....
ruby-2.2.6 - #configuring..........................................................
ruby-2.2.6 - #post-configuration.
ruby-2.2.6 - #compiling...........................................................
ruby-2.2.6 - #installing..........
ruby-2.2.6 - #making binaries executable..
ruby-2.2.6 - #downloading rubygems-2.6.10
ruby-2.2.6 - #extracting rubygems-2.6.10.....
ruby-2.2.6 - #removing old rubygems.........
$LANG was empty, setting up LANG=en_US, if it fails again try setting LANG to something sane and try again.
ruby-2.2.6 - #installing rubygems-2.6.10.....................
ruby-2.2.6 - #gemset created /location/.rvm/gems/ruby-2.2.6@global
ruby-2.2.6 - #importing gemset /location/.rvm/gemsets/global.gems................................................
ruby-2.2.6 - #generating global wrappers........
ruby-2.2.6 - #gemset created /location/.rvm/gems/ruby-2.2.6
ruby-2.2.6 - #importing gemsetfile /location/.rvm/gemsets/default.gems evaluated to empty gem list
ruby-2.2.6 - #generating default wrappers........
ruby-2.2.6 - #adjusting #shebangs for (gem irb erb ri rdoc testrb rake).
Install of ruby-2.2.6 - #complete
Ruby was built without documentation, to build it run: rvm docs generate-ri

但是当我尝试执行命令时,我会遇到一些错误。

  - bundle
-bash: bundle: command not found
  - gem install bundler
ERROR:  While executing gem ... (Gem::Exception)
    Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources    

因此,虽然安装似乎很顺利,但在尝试安装任何 gem 时不需要 openssl。这里可能是什么问题,我该如何解决?

我尝试清除整个 RVM 并重新安装,但没有帮助。使用来自 here 的 phq 的答案,我设法让它工作。

rvm remove 2.2.6   
rvm pkg install openssl
rvm install 2.2.6 --with-openssl-dir=$HOME/.rvm/usr
gem install bundler
bundle

它可能不是最好的解决方案,因为它手动加载 openssl,但它似乎是目前唯一适合我的解决方案。

如果您还没有安装 Homebrew,您应该继续尝试一下。正如他们所说,"Homebrew installs the stuff you need that Apple didn’t," 在您的情况下是 openssl。

  1. 安装自制软件:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  2. 安装 openssl:brew install openssl
  3. 再次尝试安装捆绑器:gem install bundler

为了避免以后出现问题,我建议你看看RVM Autolibs。它会使用 Homebrew 或其他管理器自动安装您需要的任何依赖项。如果您不想阅读文档,只需 运行: rvm autolibs enable && rvm autolibs packages && rvm autolibs homebrew 就可以了。