当我在终端运行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 remove openssl"然后"rvm install ruby"
RVM现在将安装正确版本的OpenSSL.
横街在那里.
问题是OSX在/ usr/bin中附带了一个openssl版本.试试这个:
$ /usr/bin/openssl version
当homebrew安装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 reinstall openssl
然后试试brew link openssl --force