首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从市场安装时,VSCode扩展找不到模块

从市场安装时,VSCode扩展找不到模块
EN

Stack Overflow用户
提问于 2021-04-21 16:07:46
回答 1查看 862关注 0票数 0

我正在尝试编写一个VS代码扩展,它是require的其他节点模块。不幸的是,当用户从marketplace安装扩展时,找不到模块。

我所做的是将模块添加到my package.jsondependencies部分(这是extension manifest想要的)。当我在本地运行npm install时,会创建一个node_modules文件夹,其中包含模块。通过launch.json在本地运行该扩展。

但是,当通过VS Code Marketplace安装扩展时,触发其操作将失败,调试工具控制台将显示以下消息

代码语言:javascript
复制
Activating extension 'lalten.vscode-unify' failed: Cannot find module 'tempy'
Require stack:
- /home/laurenz/.vscode-server/extensions/lalten.vscode-unify-0.2.2/out/extension.js
- /home/laurenz/.vscode-server/bin/3c4e3df9e89829dce27b7b5c24508306b151f30d/out/vs/loader.js
- /home/laurenz/.vscode-server/bin/3c4e3df9e89829dce27b7b5c24508306b151f30d/out/bootstrap-amd.js
- /home/laurenz/.vscode-server/bin/3c4e3df9e89829dce27b7b5c24508306b151f30d/out/bootstrap-fork.js.

而且node_modules目录确实缺失了:

代码语言:javascript
复制
$ ls /home/user/.vscode-server/extensions/lalten.vscode-unify-0.2.2/
icon.png  images  LICENSE.md  out  package.json  README.md

(这在本地和ssh远程vscode服务器中都会发生,/home/laurenz/.vscode/extensions/lalten.vscode-unify-0.2.2/也没有node_modules。)

模块似乎是无害的,而vsce ls包含了node_ .vscodeignore /。

其他人在过去也有这个问题,但他们的解决方案是使用update vsce (我有最新的1.87.1),使用dependencies instead of devDependencies (我确实这样做了),或者deleting the node_modules folder (没有帮助)。

我还觉得奇怪的是,这个扩展在CI中是有效的,所以我的直觉是,它的发布方式一定与它的发布方式有关。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2021-04-22 16:09:06

原来我的package.json在scripts部分有:

代码语言:javascript
复制
    "deploy": "vsce publish --yarn"

当它应该是的时候

代码语言:javascript
复制
    "deploy": "vsce publish"

现在包括了node_modules

感谢那些有用的评论,让我走上了正确的道路。我还将在未来研究捆绑扩展。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67191722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档