在Mac上安装Nokogiri在使用Ruby 2.4的openssl构建时失败

时间:2017-02-17 15:34:19

标签: ruby openssl rubygems nokogiri

我刚刚更新并重新加载了rvm,rvm安装了2.4.0,当我运行gem时,我得到了:

➜  ~   gem install irbtools
ERROR:  While executing gem ... (Gem::Exception)
    Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources
➜

我用Google搜索了一下,找到了几个声称的解决方案,但是除了建议使用不安全的宝石网址之外,没有找到一个可行的解决方案,我不想这样做。

BTW,openssl已安装,但不是brew:

➜  ruby-2.4.0   brew install openssl
Warning: openssl is a keg-only and another version is linked to opt.
Use `brew install --force` if you want to install this version

如何使用安全宝石来源获取宝石?

1 个答案:

答案 0 :(得分:1)

解决方案是安装brew的OpenSSL:

brew install --force openssl

(我收到一条奇怪的消息,说`--force被忽略,但确实安装好了。)

然后,做一个brew info openssl和RTFM! :)基于它告诉我的内容,我将其添加到我的〜/ .zshrc文件中:

# For Ruby 2.4 to find brew's OpenSSL: export LDFLAGS=-L/usr/local/opt/openssl/lib export CPPFLAGS=-I/usr/local/opt/openssl/include export PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig

然后,我打开了一个新的终端窗口并重新安装了Ruby 2.4:

rvm reinstall 2.4

之后,gem工作了。