【问题标题】:How to install clangd on Mac (preferably with homebrew)如何在 Mac 上安装 clangd(最好使用 homebrew)
【发布时间】:2021-08-18 09:32:29
【问题描述】:

又是一个“如何在 Mac 上安装 clangd”的问题。 到目前为止我所做的是brew install llvm,所以较早的答案(和the clangd website)说应该已经安装了clangd。 但在当前版本中,情况似乎并非如此。 clangd 不在我的路径中,我查看的所有文件夹都没有该二进制文件。

我找到了这些答案(它们都不起作用):

所以我的问题是:

  1. 截至 2021 年 8 月,如何在 macbook 上安装 clangd?
  2. 我真的必须从源代码手动构建所有内容吗?

更多信息:

  • 这是 M1 Macbook

  • 我在/opt//homebrew/Cellar/llvm/12.0.1/bin/clangd找到了一个clangd可执行文件

  • 运行 brew info llvm 会生成一条包含

    的消息

    如果您需要在 PATH 中首先包含 llvm,请运行:
    echo 'export PATH="/opt/homebrew/opt/llvm/bin:$PATH"' >> ~/.zshrc

    在那个文件夹中我也发现了一个 clangd 可执行文件,所以我想我应该将它添加到我的路径中,而不是 /usr/local/opt/llvm/bin?

【问题讨论】:

    标签: macos homebrew clangd


    【解决方案1】:

    更新:提问者似乎使用的是 M1 Mac。 /opt/homebrew/opt/llvm/bin 应该是要添加到 PATH 的目录,而不是 /usr/local 之一。


    llvm 仅限于小桶,这意味着它没有符号链接到 /usr/local(对于 M1 Mac 是 /opt/homebrew)。 llvm 自带库。为避免这些库影响系统之一,Homebrew 选择不链接包,这会导致二进制文件未链接到 /usr/local/bin

    clangd/usr/local/opt/llvm/bin中,需要将此目录添加到PATH中。将以下内容保存到 shell 初始化文件中(.zshrc 用于 zsh,.bash_profile 用于 bash)

    # for x86 Mac
    export PATH="/usr/local/opt/llvm/bin:$PATH"
    
    # for M1 Mac
    export PATH="/opt/homebrew/opt/llvm/bin:$PATH"
    

    然后启动新的shell,输入clangd --version进行测试。

    查看brew info llvm了解更多信息。

    【讨论】:

    • 正如我所说,/usr/local/opt/llvm/binbrew install llvm 之后不存在。 /usr/local 内没有其他位置包含 clangd 二进制文件。
    • @Proof-By-Sledgehammer 您使用的是 M1 Mac 吗? brew info llvm的输出是什么,能贴在问题里吗?
    • 看起来brew info llvm 实际上包含了使clangd 工作所需的信息。我不确定将给定目录添加到我的路径是否是一种好习惯(尽管brew info 告诉我这样做)。也许您可以更新您的答案以便我接受?
    • 一旦我有足够的声誉,我会尽量记住给你的答案投票
    猜你喜欢
    • 2023-03-08
    • 2017-07-21
    • 1970-01-01
    • 2012-08-24
    • 1970-01-01
    • 2015-04-08
    • 2016-09-01
    • 2019-07-01
    • 1970-01-01
    相关资源
    最近更新 更多