我正在使用NeoVim和CoC进行支持yarn-3 pnp的项目的TS开发。在某个时候,编辑器停止看到导入,并开始抱怨导入的模块不存在。(见截图)。我已经为vim配置了SDK,并安装了ts sdks,更新了yarn并重新启动了编辑器。以下是一些细节:OS:
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.1 LTS"
Neovim:
NVIM v0.7.2
Build type: Release
LuaJIT 2.1.0-beta3
Compiled by team+vim@tracker.debian.org
package.json:
{
"private": true,
...
"devDependencies": {
"typescript": "4.5.5",
},
"packageManager": "yarn@3.5.0"
}
.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
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"]
}
.vim/coc-settings.json:
{
"eslint.packageManager": "yarn",
"eslint.nodePath": ".yarn/sdks",
"workspace.workspaceFolderCheckCwd": false,
"tsserver.tsdk": ".yarn/sdks/typescript/lib"
}
CocInfo:
## 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.
我已经试过升级yarn,升级sdks,升级neovim,重新安装依赖项。用一个简单的文件尝试yarn tsc,没有错误,并生成了一些js。
1条答案
按热度按时间zaq34kh61#
最终发现我必须使用以下命令更改coc ts版本:
并选择
Local version
而不是Bundled with coc-tsserver