nvim-lua / nvim-lua/kickstart.nvim
`cl.exe` Plugin Dependency On Windows
Nobody has claimed this yet.
- Dominant language
- Lua
- Stars
- 31.5k
- Forks
- 46.6k
- Avg merge
- 2d 16h
- Merged PRs (30d)
- 4
Description
Before Reporting an Issue
-
I have read the kickstart.nvim README.md.
-
I have read the appropriate plugin's documentation.
-
I have searched that this issue has not been reported before.
-
I have ran
:checkhealthand so no obvious issue. -
By checking this, I confirm that the above steps are completed. I understand leaving this unchecked will result in this report being closed immediately.
Describe the bug
cl.exe is required for one of plugins. I could see adding the dependencies below to the README.md.
Error
[nvim-treesitter/install/query] error: Error during "tree-sitter build": ^[[31mError:^[[0m Failed to compile parser
Caused by:
Failed to execute the C compiler with the following command:
"cl.exe" "-nologo" "-MD" "-O2" "-Brepro" "-std:c11" "-I" "C:\\Users\\matt\\AppData\\Local\\Temp\\nvim\\tree-sitter-query\\src" "-W4" "-LD" "
-utf-8" "/Fo\\\\?\\C:\\Users\\matt\\AppData\\Local\\Temp\\nvim\\tree-sitter-query\\tmp_5076_ThreadId(1)\\" "C:\\Users\\matt\\AppData\\Local\\Tem
p\\nvim\\tree-sitter-query\\src\\parser.c" "-link" "-out:\\\\?\\C:\\Users\\matt\\AppData\\Local\\Temp\\nvim\\tree-sitter-query\\parser.so" "/IMP
LIB:\\\\?\\C:\\Users\\matt\\AppData\\Local\\Temp\\nvim\\tree-sitter-query\\tmp_5076_ThreadId(1)\\temp.lib"
Error: program not found
To Reproduce
- Be on windows
git clone- Open
nvim - Run through the
vim.packinstall - Notice errors with
cl.exemissing.
Workaround Using pwsh.exe
choco install visualstudio2026buildtools -ychoco install visualstudio2026-workload-vctools -y& 'C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\Common7\Tools\Launch-VsDevShell.ps1'
Some notes on the above. Need to be running with admin to perform the install. I am on 7.6.2 of PowerShell. Item 3 is needed to fix-up the $env:Path so processes can find cl.exe. On my system, when I run Get-Command cl after running the launcher ps1, I get C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.51.36231\bin\HostX86\x86\cl.exe. Presumably, one could update the $env:Path manually too, though there are four different copies of cl.exe.
There is probably a better world where one could use scoop install vswhere or choco install vswhere to ensure VS 2017 and later can be accounted for and we don't rely on the default location of the binary in the Visual Studio Installer location.
Below is how one can find the instance id to call into the cmdlet directly that is called by the ps1 above. It does get messy if folks don't have the exact install path as the above.
& 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe' -products Microsoft.VisualStudio.Product.BuildTools -latest -format json
And then with the whole archival of nvim-treesitter. Is it all worth it? Is there going to be a push to go "native" and "core" features with neovim? So one would rip out the nvim-treesitter dependency?
Desktop
- OS: Windows
- Terminal: Wezterm
Neovim Version
NVIM v0.12.3
Build type: Release
LuaJIT 2.1.1774638290
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with README.md and the nvim-treesitter installation requirements, then review the reported Windows reproduction and PowerShell workaround. Document the required cl.exe or Visual Studio Build Tools setup, including how to make the compiler discoverable, and verify the documented steps address the parser installation error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, powershell
- Domain
- compilers, documentation, operating-systems
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100