尝试使用自制软件安装 curl,为 libcurl.4.dylib 获取“不兼容的库版本”

tdc*_*tdc 6 path curl homebrew

我在 OSX 10.9.5 上。我想使用比 OSX 捆绑的更高版本的 CURL,但我不想删除 OSX 二进制文件以防万一,所以我想选择通过自制软件安装它。

我自己的路:

$ echo $PATH
/Users/Tom/.nvm/v0.10.33/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Users/Tom/.composer/vendor/bin:/usr/local/mysql/bin::~/Library/Trigger\ Toolkit:/usr/local/heroku/bin
Run Code Online (Sandbox Code Playgroud)

如您所见,/usr/local/bin几乎在 的前面path,在我的 Nodenvm路径后面。

结果$ brew install curl

Warning: curl-7.38.0 already installed
Run Code Online (Sandbox Code Playgroud)

结果$ curl

dyld: Library not loaded: /usr/local/lib/libcurl.4.dylib
  Referenced from: /usr/local/bin/curl
  Reason: Incompatible library version: curl requires version 8.0.0 or later, but libcurl.4.dylib provides version 7.0.0
[1]    6481 trace trap  curl
Run Code Online (Sandbox Code Playgroud)

我在安装时做错了什么?为什么 brew 不包含所需的 libcurl 版本?

Dis*_*ame 0

尝试运行rm /usr/local/Cellar/curl然后重新安装。(这将删除您的自制卷曲。)

当我测试安装的curl时,Homebrew这么说:

Mac OS X 已经提供了该软件,并行安装另一个版本可能会导致各种麻烦。

一般来说,这不会给您带来任何后果。如果您构建自己的软件并且需要此公式,则需要添加到构建变量中:

LDFLAGS:  -L/usr/local/opt/curl/lib
CPPFLAGS: -I/usr/local/opt/curl/include
Run Code Online (Sandbox Code Playgroud)