Skip to content

Neovim lsp install fails due to missing build.vsh #482

@demizer

Description

@demizer

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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions