簡體   English   中英

從 Marketplace 安裝時,VSCode 擴展找不到模塊

[英]VSCode extension cannot find module when installed from Marketplace

我正在嘗試編寫一個require其他節點模塊的 VS 代碼擴展。 不幸的是,當用戶從市場安裝擴展時,找不到這些模塊。

我所做的是將模塊添加到我的package.jsondependencies項部分(這是擴展清單想要的)。 當我在本地運行npm install時,會創建一個node_modules文件夾並包含模塊。 通過 launch.json 在本地運行擴展。

但是,當通過VS Code Marketplace安裝擴展時,觸發其操作將失敗,並且調試工具控制台將顯示消息

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 目錄:

$ ls /home/user/.vscode-server/extensions/lalten.vscode-unify-0.2.2/
icon.png  images  LICENSE.md  out  package.json  README.md

(這發生在本地和 ssh-remote vscode-server 中,/home/laurenz/.vscode/extensions/lalten.vscode-unify- /home/laurenz/.vscode/extensions/lalten.vscode-unify-0.2.2/也沒有 node_modules。)

.vscodeignore似乎是無辜的,並且vsce ls包含 node_modules/。

其他人過去也遇到過這個問題,但他們的解決方案是更新 vsce (我有最新的 1.87.1),使用依賴項而不是 devDependencies (我這樣做),或者刪除 node_modules 文件夾(沒有幫助)。

我也很奇怪這個擴展在CI中工作,所以我的直覺是它必須與它的發布方式有關。

有任何想法嗎?

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

    "deploy": "vsce publish --yarn"

應該是什么時候

    "deploy": "vsce publish"

現在包含了node_modules

感謝那些讓我走上正軌的有用評論。 我還將考慮在未來捆綁擴展。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM