【问题标题】:Vscode: error TS2307: Cannot find module 'vscode'Vscode:错误 TS2307:找不到模块“vscode”
【发布时间】:2018-08-29 05:10:52
【问题描述】:

在编译 VSCode 扩展时,打字稿一直抱怨

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

安装npm install vscode 或魔术链接没有帮助。

提供的跟踪:

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)

如何进行?

【问题讨论】:

  • 我遇到了同样的问题。我删除了 node_modules 并再次安装它,它就像魅力一样。

标签: npm visual-studio-code


【解决方案1】:

解决办法

运行npm install 来解决问题。

为什么?

因为有“安装后”脚本 (node ./node_modules/vscode/bin/install) 根据您在项目中使用的引擎获取 vscode.d.ts

检测到的 VS Code 引擎版本:^1.6.0 找到符合引擎范围的最低版本:1.6.0 从:https://raw.githubusercontent.com/Microsoft/vscode/e52fb0bc87e6f5c8f144e172639891d8d8c9aa55/src/vs/vscode.d.ts 获取 vscode.d.ts vscode.d.ts 安装成功!

source

【讨论】:

  • 我已经运行了npm install,但再次运行它就成功了
  • 运行 npm post install 完成所有这些,但是当它实际运行上面的节点程序时,它会进入此错误“安装 vscode.d.ts 时出错:package.json 中缺少 VSCode 引擎声明。”回去并再次运行你的代码(因为我有权限错误)并且它起作用了。 this link 帮助了解问题的原因。
【解决方案2】:

就我而言,原因是:无法在 Windows 上加载具有长路径的模块。 相关问题链接:https://github.com/nodejs/node/issues/1990

所以,我将 nodejs v14.x 升级到 v15.x 后,问题就消失了。

【讨论】:

    【解决方案3】:

    您可以通过yarn installnpm install 简单地安装它们。如果您在 VSCode 中遇到“Visual Studio Code 无法监视此大型工作区中的文件更改”错误,请按照this 链接中的说明进行操作。

    【讨论】:

      【解决方案4】:

      将您的 Package.json "scripts" 部分更新为:

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

      【讨论】:

        【解决方案5】:

        解决方案是从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
        

        【讨论】:

          猜你喜欢
          • 2022-11-02
          • 2021-11-18
          • 2022-01-15
          • 1970-01-01
          • 1970-01-01
          • 2016-08-29
          • 2017-03-30
          • 2019-07-06
          • 1970-01-01
          相关资源
          最近更新 更多