vlang / vlang/vls

Neovim lsp install fails due to missing build.vsh

Open
#482 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
V
Stars
370
Forks
65
Avg merge
11h 17m
Merged PRs (30d)
18

Description

At some point a build script was removed from this repo and now neovim doesn't know how to install vls.

Neovim lsp config:

    {
        "neovim/nvim-lspconfig",
        lazy = false,
        config = function()
            vim.lsp.enable("vls")
        end,
    },

Neovim lsp error:

[ERROR][2026-01-19 14:09:31] ...p/_transport.lua:36	"rpc"	"v"	"stderr"	'v ls error: Language server is not installed nor found. (101)\n\n- If you are using this for the first time, please run\n  `v ls --install` first to download and install VLS.\n- If you are using a custom version of VLS, check if\n  the specified path exists and is a valid executable.\n- If you have an existing installation of VLS, be sure\n  to remove "vls.config.json" and "bin" located inside\n  "$HOME/.vls" and re-install.\n\n  If none of the options listed have solved your issue,\n  please report it at https://github.com/vlang/v/issues\n\n/tmp/v_1000/vls.01KFC2Z2EAKFRHW4838BW52FQE.tmp.c:10013: at builtin__print_backtrace: Backtrace\n/tmp/v_1000/vls.01KFC2Z2EAKFRHW4838BW52FQE.tmp.c:31551: by main__VlsUpdater_cli_error\n/tmp/v_1000/vls.01KFC2Z2EAKFRHW4838BW52FQE.tmp.c:31663: by main__main\n/tmp/v_1000/vls.01KFC2Z2EAKFRHW4838BW52FQE.tmp.c:32097: by main\n'

$ v ls --install
> Creating .vls folder...
> Finding prebuilt executables from GitHub release..
> Cloning VLS repo...
> Compiling VLS from source...
v ls error: Cannot compile VLS from source: v expects that `/home/jesusa/.vls/src/build.vsh` exists, but it does not
 (0)

/tmp/v_1000/vls.01KFC2Z2EAKFRHW4838BW52FQE.tmp.c:10013: at builtin__print_backtrace: Backtrace
/tmp/v_1000/vls.01KFC2Z2EAKFRHW4838BW52FQE.tmp.c:31551: by main__VlsUpdater_cli_error
/tmp/v_1000/vls.01KFC2Z2EAKFRHW4838BW52FQE.tmp.c:31673: by main__main
/tmp/v_1000/vls.01KFC2Z2EAKFRHW4838BW52FQE.tmp.c:32097: by main
$ v version
V 0.5.0 2b7492e

workaround is to compile vls from source and copy binary to ~/.vls/vls and set config:

● Write(~/.vls/vls.config.json)                                                                                                                                                                                                                 
  ⎿  Wrote 2 lines to ../../../.vls/vls.config.json                                                                                                                                                                                             
      1 {"server_path":"/home/jesusa/.vls/vls"}         

Neovim commit where "v ls" was added: https://github.com/neovim/nvim-lspconfig/pull/2223/files

I am willing to volunteer to get this fixed for neovim, but need guidance. Thanks!

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the VLS installation path exercised by v ls --install and inspect the cloned source for the missing build.vsh referenced in the error. Compare the repository's build entry point with the removed script, then reproduce with V 0.5.0 and confirm installation produces ~/.vls/vls that Neovim can start through the shown vls.config.json.

Written by the indexing model from the issue text.

Assessment

Domain
devtools
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.