如何阻止LunarVim的Mason自动安装Haskell语言服务器?
解决Nix环境下LunarVim中Mason自动安装HLS导致冲突的问题
核心配置修正
之前的配置未完全覆盖Mason及mason-lspconfig的自动安装逻辑,需补充以下配置到init.lua:
-- 关闭LunarVim自动安装LSP服务器 lvim.lsp.automatic_servers_installation = false -- 跳过HLS的自动配置,使用Nix环境自带版本 lvim.lsp.automatic_configuration.skipped_servers = vim.list_extend(lvim.lsp.automatic_configuration.skipped_servers, { "haskell-language-server" }) -- 配置mason-lspconfig,彻底排除HLS自动安装 require("mason-lspconfig").setup({ ensure_installed = {}, -- 禁止自动安装任何LSP automatic_installation = false, -- 完全关闭mason-lspconfig的自动安装功能 exclude = { "haskell-language-server" } -- 双重保险,排除HLS }) -- 重置LunarVim缓存,使配置生效 lvim.lsp.reset_cache()
手动清理冲突文件
- 在LunarVim中执行命令卸载Mason安装的HLS:
:MasonUninstall haskell-language-server
- 重启LunarVim,确保Nix环境的HLS优先被加载。
额外检查项
- 确认Nix环境的
bin目录在系统PATH中的优先级高于Mason路径(Mason的LSP默认路径为~/.local/share/nvim/mason/bin/),保证系统优先调用Nix自带的HLS。 - 排查是否有其他自定义插件或启动脚本触发了HLS的自动安装。
内容的提问来源于stack exchange,提问作者MechWright
相关产品推荐
相关产品推荐

