OpenSSL,RVM,Brew,冲突错误

当我在终端运行brew医生时:我收到以下错误:

Warning: Some keg-only formula are linked into the Cellar. You may wish to `brew unlink` these brews: openssl 

如果我取消链接,并输入rvm要求 :我将得到以下错误。

 Checking requirements for osx. dyld: Library not loaded: @@HOMEBREW_CELLAR@@/openssl/1.0.1f/lib/libssl.1.0.0.dylib Referenced from: /usr/local/opt/openssl/bin/openssl Reason: image not found Failed reading certificates path for '/usr/local/opt/openssl/bin/openssl' with return code: (). RVM autolibs is now configured with mode '2' => 'check and stop if missing', please run `rvm autolibs enable` to let RVM do its job or run and read `rvm autolibs [help]` or visit https://rvm.io/rvm/autolibs for more information. Requirements installation failed with status: 133. 

当我运行brew unlink openssl时,myssl版本从OpenSSL 1.0.1f 2014年1月6日更改为OpenSSL 0.9.8y 2013年2月5日

所以问题是:我如何让Brew Doctor和RVM要求都快乐? 拥有相同的OpeenSSL版本? (假设)

尝试brew reinstall openssl然后brew link openssl --force

横街在那里。

问题是OSX在/ usr / bin中附带了一个openssl版本。 试试这个:

 $ /usr/bin/openssl version 

当自制软件安装openssl时,它会将其安装到/ usr / local / Cellar / openssl,但默认情况下它不会创建链接,因为它会产生版本冲突。 要创建您需要输入的链接:

 $ brew link --force openssl 

这将为brew版本创建符号链接,您应该能够通过键入以下内容来查看新版本号:

 $ /usr/local/bin/openssl version 

最后一个问题。 如果您的路径变量在/ usr / local / bin之前具有/ usr / bin,则会发生这种情况。 输入以下内容:

 $ echo $PATH 

如果您在/ usr / local / bin之前看到/ usr / bin,那么您需要更新.bash_profile以使其具有以下内容:

 export PATH="/usr/local/bin:$PATH" 

这意味着新版本将在旧版本之前使用。

警告:brew包说“Mac OS X已经提供了这个软件并且并行安装另一个版本会导致各种麻烦。”

所以使用风险自负! 我实际上并不知道“各种麻烦”是什么。

如果小牛队出现同样的错误,只需运行“brew remove openssl”然后“rvm install ruby​​”

RVM现在将安装正确版本的OpenSSL。

或DO“从哪个openssl”复制到“/ usr / local / opt / openssl / bin / openssl”。 然后试试。 事情是“/ usr / local / opt / openssl / bin / openssl”有旧的或损坏的证书。

这似乎是要注意的关键点,我已经复制并粘贴到文本文档中供以后使用。 一般来说,这对你没有任何影响。 如果您构建自己的软件并且需要此公式,则需要添加到构建变量中:

 LDFLAGS: -L/usr/local/opt/openssl/lib CPPFLAGS: -I/usr/local/opt/openssl/include 

但是有人认为这会对我们的mac一般产生影响吗? 是否有更好的选择强制链接到现有的openssl? 或者是否需要拥有自制软件的版本才能正确设置我们的Ruby开发环境。 我很想知道,因为我正在进行大量配置以开发网站,我希望我的开发环境尽可能稳定。 我感谢您的任何回复,在一个学期的unix和其他大量研究之后,仍然有很多要知道! 但知识才是力量!