Skip to content

Neovim: Random "Cannot find module ... tsserverlibrary.js" with workspaces #1307

@mikehaertl

Description

@mikehaertl

I work on a quite large Vue3 monorepo project in my /home/jobs/demo/ directory. I get the following error when I open a .vue file from a workspace subdirectory (e.g. /home/jobs/demo/packages/frontend/app/app.vue):

Error executing vim.schedule lua callback: /usr/local/share/nvim/runtime/lua/vim/lsp.lua:955: 
RPC[Error] code_name = InternalError, message = "Request initialize failed with message: 
Cannot find module '/home/jobs/demo/packages/frontend/app/node_modules/typescript/lib/tsserverlibrary.js'
Require stack:
- /usr/local/lib/node_modules/@volar/vue-language-server/out/node.js
- /usr/local/lib/node_modules/@volar/vue-language-server/bin/vue-language-server.js"
stack traceback:
        [C]: in function 'assert'
        /usr/local/share/nvim/runtime/lua/vim/lsp.lua:955: in function 'cb'
        vim/_editor.lua:256: in function <vim/_editor.lua:256>

Notice the Require stack that points to an issue in vue-language-server.

The required file exists in the main node_modules directory (/home/jobs/demo/node_modules/typescript/lib/tsserverlibrary.js).

Important: The issue goes away if I first open a random file from the root node_modules directory (e.g. /home/jobs/demo/node_modules/abab/index.d.ts) and then open the same app.vue as before.

My coworkers use VSCode and don't seem to have the issue.

Environment

  • neovim 0.7.0
  • nvim-lsp-config
  • take-over-mode enabled

Related nvim config:

lspconfig.volar.setup{
  -- cmd = {'node', '/usr/local/bin/vue-language-server', '--stdio', '--max-old-space-size=6144' },
  -- cmd = {"vue-language-server", "--stdio", "--max-old-space-size=4096" },
  filetypes = {'typescript', 'javascript', 'javascriptreact', 'typescriptreact', 'vue', 'json'},
}

I've also seen #862 which seems somewhat similar and tried --max-old-space-size=4096 but it made no difference.

I can provide more details if required.

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