已升级到 Yosemite,现在 ruby 库正在崩溃

Upgraded to Yosemite and now ruby libraries are breaking

我升级到 Yosemite,现在当我尝试使用 rails new <appname> 设置初始 rails 应用程序时,我收到一条错误消息:

/Users/****/.rubies/ruby-2.0.0-p451/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:54:in `require': dlopen(/Users/*****/.rubies/ruby-2.0.0-p451/lib/ruby/2.0.0/x86_64-darwin13.3.0/openssl.bundle, 9): Symbol not found: _SSLv2_client_method (LoadError)

我使用的是自制软件和 chruby 而不是 RVM,我的 shell 是 Oh-my-Zsh。

我怀疑你在旧版本的 Mac OS X 上编译了 Ruby,它依赖于 OpenSSL 的 _SSLv2_client_method 函数。该功能非常古老(SSL v2 是一种旧协议),因此它可能已从 OpenSSL 中删除,并且升级您的操作系统可能会引入没有该功能的新版本 OpenSSL。

无论如何,您应该尝试删除整个 ~/.rubies 文件夹(或将其移动到新位置)并从头开始,根据 chruby Wiki 重新编译 Ruby。

这是一个相关的问题,我通过谷歌搜索“_SSLv2_client_method ruby mac”找到了这个问题:Ruby Bundle Symbol not found: _SSLv2_client_method (LoadError)