Neovim+Mason无法启动typescript-language-server求助
解决WSL环境下Neovim TypeScript LSP启动失败问题
可能的原因及对应解决步骤
1. 验证Node.js环境与cli文件可执行性
typescript-language-server依赖Node.js,WSL环境可能存在版本或执行权限问题:
- 终端执行
node --version确认已安装16+版本的Node.js - 进入目录
~/.local/share/nvim/mason/typescript-language-server/lib/,执行node cli.mjs:- 能正常运行说明mason生成的bin链接异常;不能运行则执行
npm install修复目录下的依赖
- 能正常运行说明mason生成的bin链接异常;不能运行则执行
2. 修复Mason的LSP可执行软链接
WSL下可能出现软链接失效的情况:
- 删除旧链接:
rm ~/.local/share/nvim/mason/bin/typescript-language-server - 重新创建链接:
ln -s ~/.local/share/nvim/mason/typescript-language-server/lib/cli.mjs ~/.local/share/nvim/mason/bin/typescript-language-server - 回到Neovim执行
:LspStart tsserver测试
3. 修正WSL文件系统权限
Windows与WSL的权限冲突可能导致文件无法读取:
- 赋予目录读写执行权限:
chmod -R 755 ~/.local/share/nvim/mason/typescript-language-server/ - 确保文件归属当前用户:
sudo chown -R $USER:$USER ~/.local/share/nvim/mason/
4. 强制重新安装typescript-language-server
若以上步骤无效,让Mason彻底重装:
- 在Neovim中执行
:MasonUninstall typescript-language-server - 重启Neovim后执行
:MasonInstall typescript-language-server - 安装完成后再次尝试启动LSP
5. 确认kickstart.nvim的LSP配置无硬编码路径
检查配置文件中的tsserver设置,确保使用Mason自动识别的路径,而非手动指定的绝对路径:
require('lspconfig').tsserver.setup({ on_attach = on_attach, capabilities = capabilities, })
内容的提问来源于stack exchange,提问作者Arty Shan
相关产品推荐
相关产品推荐

