【问题标题】:How to update cURL on OSX El Capitan?如何在 OSX El Capitan 上更新 cURL?
【发布时间】:2024-01-16 10:43:01
【问题描述】:

我是使用 Mac 的新手,我想将可用的 cURL-7.43.0 升级到最新版本 cURL-7.47.1? 我正在查看一些页面,但他们说要避免在 OSX 上升级原件。 请问有什么帮助吗? 谢谢

【问题讨论】:

  • 尽管使用自制软件,但我发现该版本永远不会匹配“哪个 curl”,无论我对 $PATH 变量做了什么。所以现在我只给出 curl 的完整路径,它是最新版本,它可以工作。
  • 据我了解,您无法在 Mac 上更新基本 curl 版本,这就是为什么人们建议使用 Homebrew 安装最新版本的 curl。

标签: macos curl osx-elcapitan


【解决方案1】:

看看安装homebrew,它是一个包管理器,允许您安装和更新二进制文件而不会覆盖原来的二进制文件。

然后你需要在你的 PATH 前面加上 homebrew(默认为/usr/local/bin)。 如果您在运行 curl 时不这样做,系统将获取未更新的默认 OSX 版本 (/usr/bin/curl)。

检查完毕后使用which curl

【讨论】:

  • 究竟是如何“预置”路径的?你能扩展一下吗?
  • 当我做which curl 时,我得到/usr/bin/curl 回来。但是,当我尝试brew upgrade curl 时,它告诉我没有安装 curl。
  • @MadPhysicist 给你!! *.com/questions/10343834/…
  • @MrKiwi 当我将/usr/local/bin 放在/usr/bin 上方的/etc/paths 中,然后运行which curl 我仍然得到/usr/bin/curl。系统似乎仍在从默认位置拉动。这可能是什么原因?
  • 尝试brew info curl 显示如何安装 curl - 通常它是“仅桶”,这意味着它不在 PATH 环境变量中,正如该命令所解释的那样。因此,您需要将该命令显示的基于地窖的 curl 路径放在您的 PATH 上。
【解决方案2】:

我也遇到了这个问题,OSx 将 curl 定位在 /usr/bin。如果您使用brew install curl 安装curl,然后执行brew info curl,它将在术后输出底部附近告诉您以下内容:

If you need to have this software first in your PATH run:

echo 'export PATH="/usr/local/opt/curl/bin:$PATH"' >> ~/.bash_profile

运行该命令以更新~/.bash_profile 后,您需要通过执行. ~/.bash_profile 来获取它

【讨论】:

  • 这不会更新可用于 C 的 libcurl 头文件
  • 没错!这对 Git 来说非常烦人!因为 Git 无法访问 KeyChain 管理的证书。
  • @RichardMcFriendOluwamuyiwa @JYC 是的。 brew 输出中也包含这个 For compilers to find curl you may need to set: export LDFLAGS="-L/usr/local/opt/curl/lib" export CPPFLAGS="-I/usr/local/opt/curl/include"