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

Bra*_*cil 15 ruby homebrew rbenv

我正在尝试在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?
Run Code Online (Sandbox Code Playgroud)

当我运行brew install openssl时,它说

Warning: openssl-1.0.1e already installed
Run Code Online (Sandbox Code Playgroud)

关于这个线程的解决方案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
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Ami*_*mir 28

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

$ CONFIGURE_OPTS="--with-openssl-dir=`brew --prefix openssl`" rbenv install 2.0.0-p195
Run Code Online (Sandbox Code Playgroud)

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

$ brew install openssl
Run Code Online (Sandbox Code Playgroud)

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

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

  • 只是为了记录,你应该*不需要使用ruby-build和homebrew的配置opts.但是,我不得不用homebrew重新安装openssl才能使它工作:`brew uninstall openssl; 酿造升级; brew install openssl; rbenv安装2.0.0-p247`.有关详细信息,请参阅[this](https://github.com/sstephenson/ruby-build/issues/377#issuecomment-27159797). (2认同)

fuz*_*uzz 8

我通过执行:

brew link openssl --force
Run Code Online (Sandbox Code Playgroud)

Mac OSX 10.9.4


And*_*imm 6

升级到最新版本的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?
Run Code Online (Sandbox Code Playgroud)

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

# Don't forget brew doctor and brew update if required
brew upgrade ruby-build
Run Code Online (Sandbox Code Playgroud)

固定它.

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