[英]VSCode extension cannot find module when installed from Marketplace
我正在嘗試編寫一個require
其他節點模塊的 VS 代碼擴展。 不幸的是,當用戶從市場安裝擴展時,找不到這些模塊。
我所做的是將模塊添加到我的package.json
的dependencies
項部分(這是擴展清單想要的)。 當我在本地運行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.