【发布时间】:2019-09-05 09:52:33
【问题描述】:
我想使用 Emacs LSP c-mode,但我收到错误消息“路径上不存在命令“clangd”。
我做了以下安装步骤:
- 从 melpa-stable 获取 lsp 包
- 从 melpa-stable 获取 company-lsp
- 使用自制软件获取 ccls
-
将以下内容添加到我的 .emacs 文件中:
(需要'lsp-mode) (add-hook 'rust-mode-hook #'lsp) (add-hook 'c-mode-hook #'lsp) (需要'公司-lsp) (push 'company-lsp company-backends)
我已经使用自制软件安装了 llvm(应该包括 clang)并将其路径添加为环境变量。
有人知道我为什么会收到这个错误吗?
【问题讨论】:
-
您究竟是如何“将其路径添加为环境变量”
-
在我的 .bash_profile 文件中添加了“export PATH=/usr/local/opt/llvm/bin:$PATH”。
-
查看 Emacs 中的
exec-path和(getenv "PATH")。如果他们没有您的目录,那么您不会以 Emacs 看到的方式添加它。您可以简单地将其添加到exec-path,它可能会起作用(exec-path在启动时从$PATH初始化;通常$PATH在 Emacs 中启动后不会使用)。 -
我今天让它在 Linux (Debian 10) 上工作。在我的 emacs 文件中,我必须添加:(setq lsp-clients-clangd-executable "/usr/lib/llvm-9/bin/clangd")。也许你需要做类似的事情。
-
我建议您确认您已获得 clangd。
标签: emacs clang clangd emacs-lsp