Windows系统下Neovim Treesitter插件无法运行求助
解决Windows下Neovim Treesitter插件的
c.so/python.so无效Win32应用报错 问题原因
Windows平台下,Treesitter解析器的正确格式是.dll文件,出现.so后缀说明编译时用了类Unix环境的工具链(比如WSL的GCC),或者编译器架构与系统不匹配,导致生成的文件无法被Windows版Neovim识别。
修复步骤
安装适配Windows的编译器
选择以下两种工具之一:- MSVC:安装Visual Studio时勾选「C++桌面开发」组件,之后必须通过「Developer Command Prompt for VS」启动Neovim,确保编译器环境变量正确加载。
- MinGW-w64:下载对应系统架构(x86_64)的版本,将其
bin目录(如C:\mingw64\bin)添加到系统PATH,运行gcc --version确认输出包含x86_64-w64-mingw32。
清理损坏的解析器文件
找到Treesitter解析器存储目录(通常在~/.local/share/nvim/site/pack/<包管理器名>/start/nvim-treesitter/parser),删除其中的c.so和python.so文件。重新编译解析器
打开Neovim,执行命令::TSInstallSync c python该命令会强制同步并重新编译指定解析器,编译过程会自动使用当前终端环境的正确编译器。
验证修复效果
重启Neovim后打开C或Python文件,检查报错是否消失;也可运行:checkhealth nvim-treesitter查看解析器的健康状态,确认加载正常。
额外注意
- 不要混用WSL环境的编译器和Windows原生Neovim,两者环境不兼容。
- 若使用包管理器(如Lazy.nvim、Packer)管理Treesitter,检查配置中是否存在强制指定类Unix编译参数的代码,如有需删除。
内容的提问来源于stack exchange,提问作者ebynapura
相关产品推荐
相关产品推荐

