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和其他大量研究之后,仍然有很多要知道! 但知识才是力量!
- 使用rbenv和ruby-build构建ruby时会出现未定义的符号:SSLv2_method
- 第二部分:如何使Ruby AES-256-CBC和PHP MCRYPT_RIJNDAEL_128一起发挥得很好
- 如何以编程方式检查证书是否已被撤销?
- 使用OpenSSL在证书文件中读取Ruby错误
- 如何在Ubuntu上更改OPENSSLDIR?
- Ruby:SSL_connect SYSCALL返回= 5 errno = 0 state =未知状态(OpenSSL :: SSL :: SSLError)
- Windows上的Puma安装错误
- 指定TLSv1时SSLv3证书validation失败?
- Ruby openssl文档