无法使用 coc-tsserver 找到模块 (ts2307)

use*_*260 2 typescript neovim coc.nvim yarnpkg-v3

在此输入图像描述

我正在使用 NeoVim 和 CoC 来进行支持yarn-3 pnp 的项目的 TS 开发。在某些时候,编辑器不再看到导入并开始抱怨导入的模块不存在。(参见屏幕截图)。我已经为vim配置了SDK并安装了ts sdks,更新了yarn并重新启动了编辑器。以下是一些详细信息: 操作系统:

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.1 LTS"
Run Code Online (Sandbox Code Playgroud)

尼奥维姆:

NVIM v0.7.2
Build type: Release
LuaJIT 2.1.0-beta3
Compiled by team+vim@tracker.debian.org
Run Code Online (Sandbox Code Playgroud)

包.json:

{
  "private": true,
  ...
  "devDependencies": {
    "typescript": "4.5.5",
  },
  "packageManager": "yarn@3.5.0"
}
Run Code Online (Sandbox Code Playgroud)

.yarnrc.yml

checksumBehavior: update

nodeLinker: pnp

plugins:
  - path: .yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs
    spec: "@yarnpkg/plugin-workspace-tools"
  - path: .yarn/plugins/@yarnpkg/plugin-typescript.cjs
    spec: "@yarnpkg/plugin-typescript"

yarnPath: .yarn/releases/yarn-3.5.0.cjs
Run Code Online (Sandbox Code Playgroud)

tsconfig.json:

{
  "compilerOptions": {
    "outDir": "./dist/",
    "noImplicitAny": true,
    "skipLibCheck": true,
    "module": "es6",
    "target": "es6",
    "jsx": "react",
    "allowJs": true,
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "allowSyntheticDefaultImports": true,
    "paths": {
      "@company/xxx-rqb": ["./packages/xxx-rqb/src"]
    }
  },
  "exclude": ["**/*.test.ts", "**/*.spec.ts"]
}
Run Code Online (Sandbox Code Playgroud)

.vim/coc-settings.json:

{
  "eslint.packageManager": "yarn",
  "eslint.nodePath": ".yarn/sdks",
  "workspace.workspaceFolderCheckCwd": false,
  "tsserver.tsdk": ".yarn/sdks/typescript/lib"
}
Run Code Online (Sandbox Code Playgroud)

科克信息:

## versions

vim version: NVIM v0.7.2
node version: v16.15.1
coc.nvim version: 0.0.82-b7375d5f 2023-01-30 05:09:03 +0800
coc.nvim directory: /home/user/.nvim/plugin/coc.nvim
term: tmux
platform: linux

## Log of coc.nvim

2023-04-11T18:17:33.885 INFO (pid:911582) [configurations] - Add folder configuration from cwd: /home/user/dev/reactfrontend/.vim/coc-settings.json
2023-04-11T18:17:34.057 INFO (pid:911582) [plugin] - coc.nvim initialized with node: v16.15.1 after 224
...
coc-tsserver veriosn 2.1.3 (latest)
All plugins are updated.
Yarn SDKs installed for typescript, prettier, eslint. Integrations: vim.
Run Code Online (Sandbox Code Playgroud)

我已经尝试过升级yarn、升级sdks、升级neovim、重新安装依赖项。用一个简单的文件尝试了yarn tsc,没有错误并生成了一些js。

use*_*260 5

最终发现我必须使用以下命令更改 coc ts 版本:

:CocCommand tsserver.chooseVersion
Run Code Online (Sandbox Code Playgroud)

并选择Local version而不是Bundled with coc-tsserver