Lunarvim中fortls语言服务无法正常运行求助
Fortls LSP 在 LunarVim 中显示“Inactive”的排查思路
手动验证 fortls 可执行性
直接在终端运行fortls,观察是否有报错输出:- 如果运行失败,说明是 fortls 本身的安装或依赖问题,比如 Ubuntu 20.04 自带的 Python 3.8 与部分 fortls 版本存在兼容冲突,可尝试手动通过
pip install fortls==2.12.0安装,留意终端的依赖缺失提示(如pygments等依赖未安装)。 - 确认
~/.local/share/lvim/mason/bin/fortls文件存在,且有执行权限(执行chmod +x ~/.local/share/lvim/mason/bin/fortls确保权限)。
- 如果运行失败,说明是 fortls 本身的安装或依赖问题,比如 Ubuntu 20.04 自带的 Python 3.8 与部分 fortls 版本存在兼容冲突,可尝试手动通过
查看 LSP 启动日志
在 LunarVim 中执行:LspLog直接查看日志,或打开本地日志文件~/.local/state/lvim/lsp.log,搜索fortls相关条目:- 重点关注
[ERROR]或[WARN]级别的信息,比如是否存在“找不到可执行文件”“配置参数错误”“权限不足”等明确报错。
- 重点关注
检查 LSP 健康状态
执行:checkhealth lsp,查看 fortls 模块的检查结果:- 确认日志中显示“Found executable”且路径正确,若提示“Not found”,说明 LunarVim 未正确识别到 fortls 的安装路径。
确认 LSP 配置未被跳过
打开~/.config/lvim/config.lua,检查是否将 fortls 加入了自动配置跳过列表:- 确保配置中存在如下代码,移除 fortls 的跳过标记:
lvim.lsp.automatic_configuration.skipped_servers = vim.tbl_filter(function(server) return server ~= "fortls" end, lvim.lsp.automatic_configuration.skipped_servers) - 也可手动指定 fortls 路径强制启动:
require("lvim.lsp.manager").setup("fortls", { cmd = { "~/.local/share/lvim/mason/bin/fortls" }, filetypes = { "fortran" }, })
- 确保配置中存在如下代码,移除 fortls 的跳过标记:
验证 Fortran 文件类型关联
打开一个 Fortran 文件(如.f90、.f),执行:set filetype?,确认输出为fortran:- 如果文件类型识别错误,LSP 不会触发启动,可手动添加关联规则到
config.lua:vim.filetype.add({ extension = { f90 = "fortran", f = "fortran", f77 = "fortran", }, })
- 如果文件类型识别错误,LSP 不会触发启动,可手动添加关联规则到
排查 Python 环境冲突
查看 fortls 可执行文件的 shebang 行:head -n1 ~/.local/share/lvim/mason/bin/fortls,确认指定的 Python 路径在系统中存在且正常:- Ubuntu 20.04 的系统 Python 环境可能与 Mason 安装的 fortls 存在依赖冲突,可尝试在 LunarVim 中指定 Python 环境路径,或手动补全对应环境的依赖包。
内容的提问来源于stack exchange,提问作者fpl
相关产品推荐
相关产品推荐

