0

我想使用 Emacs LSP c 模式,但我收到错误“路径上不存在命令“clangd””。

我做了以下步骤来安装:

  1. 从 melpa-stable 获取 lsp 包
  2. 从 melpa-stable 获取 company-lsp
  3. 使用自制软件获取 ccls
  4. 将以下内容添加到我的 .emacs 文件中:

    (require 'lsp-mode) (add-hook 'rust-mode-hook #'lsp) (add-hook 'c-mode-hook #'lsp) (require 'company-lsp) (push 'company-lsp company-后端)

我已经使用自制软件安装了 llvm(应该包括 clang)并将其路径添加为环境变量。

有人知道我为什么会收到此错误吗?

4

1 回答 1

1

我刚刚设法设置它。

问题是在 os x 上使用 GUI emacs 时您的环境变量没有正确导入。特别是,如果您尝试在您的 emacs 中进行评估

(getenv "PATH")

您将获得与运行所获得的不同的输出

echo $PATH

在您的终端中。

我已经按照这里的建议通过安装exec-path-from-shell解决了这个问题。

最后,仔细检查(即使你已经提到,你已经这样做了)你不仅安装了 llvm,而且还通过运行正确地将它添加到你的路径中

brew install llvm
ln -s "$(brew --prefix llvm)/bin/clangd" "/usr/local/bin/clangd"

按照这里的建议

于 2020-05-16T13:40:31.410 回答