In neovim NVIM v0.10.0-dev on Linux Mint. I wrote my whole config in 'lua' and I'm very happy so far. The only thing thats not working is lsp with python. I configured lsp and cmp and mason, mason-lspconfig. I works great with tex, java and html but the python client does not attach to the buffers. When opening a '.py' file I get the following error for pyright:
Client pyright quit with exit code 1 and signal 0. Check log for errors: ~/.local/state/nvim/lsp.log
The log gives me the following output:
[ERROR][2023-08-11 16:49:35] .../vim/lsp/rpc.lua:675 "rpc" "~/.local/share/nvim/mason/bin/pyright-langserver" "stderr" "internal/modules/cjs/loader.js:638\n throw err;\ n ^\n\nError: Cannot find module 'worker_threads'\n at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)\n at Function.Module._load (internal/modules/cjs/loader .js:562:25)\n at Module.require (internal/modules/cjs/loader.js:692:17)\n at require (internal/modules/cjs/helpers.js:25:18)\n at Object.1267 (~/.local/share/nvim/mason/pac kages/pyright/node_modules/pyright/dist/pyright-langserver.js:1:568)\n at s (~/.local/share/nvim/mason/packages/pyright/node_modules/pyright/dist/pyright-langserver.js:1:744)\n at Object.9560 (~/.local/share/nvim/mason/packages/pyright/node_modules/pyright/dist/pyright-internal.js:1:997879)\n at s (~/.local/share/nvim/mason/packages/pyright /node_modules/pyright/dist/pyright-langserver.js:1:744)\n at Object.6334 (~/.local/share/nvim/mason/packages/pyright/node_modules/pyright/dist/pyright-internal.js:1:1327466)\n at s (~/.local/share/nvim/mason/packages/pyright/node_modules/pyright/dist/pyright-langserver.js:1:744)\n"
and when I run :LspInfo in a '.py' file I get this:
Language client log: ~/.local/state/nvim/lsp.log
Detected filetype: python
1 client(s) attached to this buffer:
Client: null-ls (id: 2, bufnr: [1])
filetypes: handlebars, html, typescript, graphql, markdown.mdx, scss, javascriptreact, json, markdown, javascript, less, yaml, typescriptreact, jsonc, vue, css, python, lua, luau
autostart: false
root directory: ~/.../file.py
cmd: <function>
Other clients that match the filetype: python
Config: pyright
filetypes: python
root directory: Not found.
cmd: ~/.local/share/nvim/mason/bin/pyright-langserver --stdio
cmd is executable: true
autostart: true
custom handlers:
Configured servers list: texlab, jsonls, pyright, lua_ls
Any Ideas on how to fix it? Can I force attachement?
I read somewhere that it might be an issue with 'node' not being up to date but I could not find any more details on how to update it.
If you need more info, I'm happy to provide it. Thanks
So the problem was with
nodeornodejsas it's called in the api. The official api just installednode 10.X. To remedy this - as @Zizizizz pointed out - it is possible to install the current version of node or on Linux Mint like so: