Vscode: 错误 TS2307:找不到模块“vscode”。

23

当编译 VSCode 扩展时,TypeScript 持续报错:

error TS2307: 找不到模块 'vscode'。

安装 npm install vscode 或使用魔法链接都没有帮助。

Strace 提供的信息:

stat("/home/work/mymodule/src/node_modules", 0x7ffe73f2d460) = -1 ENOENT (No such file or directory)
stat("/home/work/mymodule/node_modules", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
stat("/home/work/mymodule/node_modules/vscode", 0x7ffe73f2d200) = -1 ENOENT (No such file or directory)
stat("/home/work/mymodule/node_modules", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
stat("/home/work/mymodule/node_modules/vscode.ts", 0x7ffe73f2d040) = -1 ENOENT (No such file or directory)
stat("/home/work/mymodule/node_modules/vscode.tsx", 0x7ffe73f2d040) = -1 ENOENT (No such file or directory)
stat("/home/work/mymodule/node_modules/vscode.d.ts", 0x7ffe73f2d040) = -1 ENOENT (No such file or directory)
stat("/home/work/mymodule/node_modules/vscode", 0x7ffe73f2d230) = -1 ENOENT (No such file or directory)
stat("/home/work/mymodule/node_modules/@types", 0x7ffe73f2d460) = -1 ENOENT (No such file or directory)
stat("/home/tma/work/qore/node_modules", 0x7ffe73f2d460) = -1 ENOENT (No such file or directory)
stat("/home/tma/work/node_modules", 0x7ffe73f2d460) = -1 ENOENT (No such file or directory)
stat("/home/tma/node_modules", 0x7ffe73f2d460) = -1 ENOENT (No such file or directory)
stat("/home/node_modules", 0x7ffe73f2d460) = -1 ENOENT (No such file or directory)
stat("/node_modules", 0x7ffe73f2d460)   = -1 ENOENT (No such file or directory)
stat("/home/work/mymodule/src/node_modules", 0x7ffe73f2d460) = -1 ENOENT (No such file or directory)
stat("/home/work/mymodule/node_modules", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
stat("/home/work/mymodule/node_modules/vscode", 0x7ffe73f2d200) = -1 ENOENT (No such file or directory)
stat("/home/work/mymodule/node_modules", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
stat("/home/work/mymodule/node_modules/vscode.js", 0x7ffe73f2d040) = -1 ENOENT (No such file or directory)
stat("/home/work/mymodule/node_modules/vscode.jsx", 0x7ffe73f2d040) = -1 ENOENT (No such file or directory)
stat("/home/work/mymodule/node_modules/vscode", 0x7ffe73f2d230) = -1 ENOENT (No such file or directory)

如何进行?


1
我曾经遇到过同样的问题。我删除了node_modules并重新安装,然后它就像魔术般地解决了。 - Hamza Anis
6个回答

29

3
我已经运行了 npm install,但再次运行它就解决了问题。 - krubo
运行npm post install可以完成所有操作,但是当实际运行上面的node程序时,会出现这个错误:“Error installing vscode.d.ts: Missing VSCode engine declaration in package.json.” 回头再次运行yo code(因为我有权限错误),它就可以工作了。此链接帮助理解问题的原因。 - shonjs

2

我建议你关闭并重新打开 VS Code


我遇到了这个问题,随便重启一下就好了。 - Kert Kukk
我遇到了这个问题,随便重启一下就好了。 - undefined
哈哈,从来没想过这会奏效。 - undefined

1
解决方案是将链接从node_modules目录指向vscode.d.ts
ln -s /home/work/mymodule/node_modules/vscode.d.ts /usr/share/code/resources/app/out/vs/vscode.d.ts

0

请更新您的Package.json文件中的"scripts"部分为:

"compile": "tsc -watch -p ./",

0
在我的情况下,问题是:在Windows上无法加载具有长路径的模块。 相关问题链接:https://github.com/nodejs/node/issues/1990 因此,在我将nodejs v14.x升级到v15.x之后,问题消失了。

0
如果您在尝试为vsCode扩展创建webview时遇到此错误,请检查您是否在client文件夹下进行操作,而不是server文件夹。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接