Ruby OpenSSL、RVM、Brew、冲突错误

Ruby OpenSSL、RVM、Brew、冲突错误,ruby,openssl,rvm,Ruby,Openssl,Rvm,在终端中运行brew doctor时: 我得到以下错误: 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@@/opens

在终端中运行brew doctor时: 我得到以下错误:

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版本已从2014年1月6日的openssl 1.0.1f更改 至OpenSSL 0.9.8年2013年2月5日


所以问题是:如何满足Brew医生和RVM的要求?通过使用相同的Opeensl版本?(假设)

尝试
brew重新安装openssl
然后
brew链接openssl--force

恒洁已经成功了一半

问题是OSX附带的openssl版本位于/usr/bin中。试试这个:

$ /usr/bin/openssl version
当homebrew安装openssl时,它会将其安装到/usr/local/ceral/openssl,但默认情况下,它不会创建链接,因为它会创建版本冲突。要创建需要键入的链接,请执行以下操作:

$ brew link --force openssl
这将创建指向brew版本的符号链接,您应该能够通过键入以下内容查看新版本号:

$ /usr/local/bin/openssl version
还有最后一个问题。如果path变量在/usr/local/bin之前有/usr/bin,就会发生这种情况。请键入以下内容:

$ echo $PATH
如果在/usr/local/bin之前看到/usr/bin,则需要更新.bash_配置文件,使其包含以下内容:

export PATH="/usr/local/bin:$PATH"
这意味着新版本将先于旧版本使用

警告:brew软件包表示“Mac OS X已经提供了此软件,同时安装另一个版本可能会导致各种问题。”

因此,使用风险自负!我实际上不知道“各种各样的麻烦”是什么。

或者做“哪个openssl” 从该位置复制到“/usr/local/opt/openssl/bin/openssl”。然后试试看。
问题是“/usr/local/opt/openssl/bin/openssl”有旧的或损坏的证书。

在Mavericks上也有同样的错误,只需运行“brew删除openssl”,然后运行“rvm安装ruby”


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

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

LDFLAGS:  -L/usr/local/opt/openssl/lib
CPPFLAGS: -I/usr/local/opt/openssl/include
但有人认为这会对我们的Mac电脑产生影响吗? 更好的选择是强制链接到现有的openssl吗?或者,为了正确设置我们的Ruby开发环境,是否有必要使用自制版本。 我很想知道,因为我正在进行大量的配置以开发一个网站,我希望我的开发环境尽可能稳定。
我感谢您的任何回复,经过一个学期的unix学习和大量其他研究,还有很多东西需要了解!但知识就是力量

专门针对莫哈韦

sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /`

https://gorails.com/setup/osx/10.14-mojave

不!我听说macports confict homebrew,所以我没有安装它。请尝试
brew重新安装openssl
?是的,它可以工作。openssl运行良好。但是它的运行版本是0.9而不是1.0。这就是问题的原因。精彩的回答,帮了我很大的忙。即使在最新的Mac10.10Yosemite上也是如此。谢谢,难道不强迫链接openssl违背最佳实践吗?较新的自制软件开始拒绝将
openssl
链接到
brew链接--force
。要解决此问题并强制
rvm
使用brew版本的
openssl
,您需要在
PATH
上设置它,方法是:
export PATH=“/usr/local/opt/openssl/bin:/usr/local/sbin:/usr/local/bin:$PATH”
放入
~/.bash\u profile
持久化Homebrew不再允许--force。