emacs lsp c-mode:路径中不存在命令“ clangd”

时间:2019-09-05 09:52:33

标签: emacs clang clangd emacs-lsp

我想使用Emacs LSP c模式,但是出现错误“路径中不存在命令“ clangd””。

我执行了以下步骤来安装:

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

    (需要'lsp-mode) (添加挂钩'rust-mode-hook#'lsp) (添加钩子'c-mode-hook#'lsp) (需要'company-lsp) (按“ company-lsp公司后端”)

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

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

1 个答案:

答案 0 :(得分:0)

我已经成功设置好了。

问题是,在OS X上,使用GUI emacs时无法正确导入环境变量。 特别是,如果您在emacs中尝试evaluating

(getenv "PATH")

您将获得与运行

不同的输出
echo $PATH

在您的终端上。

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

最后,仔细检查(即使您已经提到,您已经完成了此操作),不仅安装了llvm,还通过运行将其正确添加到了路径中

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

根据建议here