使用rbenv在Mac上安装ruby 2.0.0-p195时出现OpenSSL错误

我正在尝试在Mac(Mountain Lion)上使用rbenv安装Ruby 2.0.0-p195并出现此错误。

BUILD FAILED Inspect or clean up the working tree at /var/folders/vt/27n8h2yj27v7rzq58075f3_m0000gn/T/ruby-build.20130618163859.1669 Results logged to /var/folders/vt/27n8h2yj27v7rzq58075f3_m0000gn/T/ruby-build.20130618163859.1669.log Last 10 log lines: installing default gems: /Users/me/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0 (build_info, cache, doc, gems, specifications) bigdecimal 1.2.0 io-console 0.4.2 json 1.7.7 minitest 4.3.2 psych 2.0.0 rake 0.9.6 rdoc 4.0.0 test-unit 2.0.0.0 The Ruby openssl extension was not compiled. Missing the OpenSSL lib? 

当我运行brew install openssl时,它说

 Warning: openssl-1.0.1e already installed 

关于这个线程的解决方案https://github.com/sstephenson/ruby-build/issues/305我尝试以这种方式安装最新的稳定版并得到相同的错误

 env CFLAGS='-g -O2' RUBY_CONFIGURE_OPTS="--with-readline-dir=`brew --prefix readline`" rbenv install 2.0.0-p195 

有任何想法吗?

尝试使用–with-openssl-dir选项将OpenSSL添加到配置选项:

 $ CONFIGURE_OPTS="--with-openssl-dir=`brew --prefix openssl`" rbenv install 2.0.0-p195 

如果您使用的是Homebrew,则需要在运行上述内容之前安装OpenSSL:

 $ brew install openssl 

更新 (见@JarkkoLaine的评论如下)

只是为了记录,你不应该再使用ruby-build和homebrew配置opts了。 但是,我不得不用自制软件重新安装openssl以使其正常工作:brew uninstall openssl; 酿造升级; brew install openssl; rbenv安装2.0.0-p247。 有关详细信息,请参阅此

我通过执行:

 brew link openssl --force 

Mac OSX 10.9.4

升级到最新版本的ruby-build为我解决了这个问题:

像OP一样,我得到了

 BUILD FAILED Inspect or clean up the working tree at /Users/me/.rbenv/sources/2.0.0-p247 Results logged to /var/folders/3x/y_8y8vr53ws_kxj97km79q5h0000gn/T/ruby-build.20130704172404.3106.log Last 10 log lines: installing default gems: /Users/me/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0 (build_info, cache, doc, gems, specifications) bigdecimal 1.2.0 io-console 0.4.2 json 1.7.7 minitest 4.3.2 psych 2.0.0 rake 0.9.6 rdoc 4.0.0 test-unit 2.0.0.0 The Ruby openssl extension was not compiled. Missing the OpenSSL lib? 

但安装最新版本的ruby-build,via

 # Don't forget brew doctor and brew update if required brew upgrade ruby-build 

固定它。

Ruby-build在OP问及现在之间有一些变化,这可以解释为什么它适用于我,但不能解释OP使用最新稳定版本的ruby-build。

对于那些在安装openssl时遇到问题的人。

我的Mac 10.8.4上有这个错误

 brew install openssl created directory `/usr/local/Cellar/openssl/1.0.1e/include/openssl' make: *** [install_sw] Error 13 READ THIS: https://github.com/mxcl/homebrew/wiki/troubleshooting These open issues may also help: https://github.com/mxcl/homebrew/pull/19429 
  1. 如果目录不存在,请创建一个目录

     sudo mkdir /usr/local/etc/openssl 
  2. 改变权利。 替换并与您的姓名和组(例如哔叽:管理员)

     sudo chown -R : /usr/local/etc/openssl/ 
  3. 重复openssl安装

     brew install openssl 
  4. 安装curl-ca-bundle

     brew install curl-ca-bundle 
  5. 安装ruby

     CONFIGURE_OPTS="--with-openssl-dir=`brew --prefix openssl`" rbenv install 2.0.0-p195 

答对了

使用ruby-install的解决方案:

卸载并安装openssl几次(可能是不必要的)后我成功尝试了这个:

 ruby-install ruby 2.1.3 -- --with-openssl-dir=`brew --prefix openssl` 

缺少的库是libssl * -dev * / openssl * -dev *,具体取决于您的发行版。

Mac OS 10.9.5再次出现了这个问题

Mac升级了命令行工具并升级了openssl,这破坏了rbenv。

我尝试了所有这些解决方案,但都没有奏效。 一切都是最新的,但我无法安装任何新的gem或建立ruby。

我的解决方案是:

  1. 删除ruby版本(对我来说是2.1.1)
  2. Brew卸载ruby-build和rbenv
  3. Brew重新安装rbenv和ruby-build

希望如果您遇到它也可以帮助您!