版本:
vsce 发布失败并显示以下消息:
正在执行预发布脚本“npm run vscode:prepublish”...
[电子邮件受保护] vscode:预发布 C:\Projects\VS Code Extensions\sfdx-command-builder
npm 运行编译[电子邮件受保护]编译 C:\Projects\VS Code Extensions\sfdx-command-builder
tsc -p ./错误命令失败:npm list --生产 --parseable --深度=99999 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],inf 要求[电子邮件受保护] npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],由 [电子邮件受保护] 要求 npm 错误!缺失:[电子邮件受保护],需要 [电子邮件受保护]
发生这种情况是因为扩展的链接器无法解析依赖项。
要修复它,请根据您的存储库使用的节点包管理器执行以下操作:
yarn
回购:
vsce publish --yarn -p $my_token
pnpm
回购:
如果您没有运行时依赖项,您可以保持简单,只需将其添加到您的
package.json
"scripts": {
"package": "pnpm vsce package --no-dependencies",
"publish": "pnpm vsce publish --no-dependencies"
}
或运行命令
vsce publish patch --no-dependencies
(根据需要使用minor
或major
代替patch
,请参阅semver)
如果您有运行时依赖项,您需要首先捆绑它们,因此除了 (1) 之外,还要将其添加到您的
package.json
"scripts": {
"vscode:prepublish": "npm run esbuild-base -- --minify",
"esbuild-base": "esbuild ./src/extension.ts --bundle --outfile=out/main.js --external:vscode --format=cjs --platform=node"
}
请参阅相关 Github 问题中的更多信息。
在跑步
npm install
之前,您是否尝试过跑步vsce publish
?
我在使用纱线时遇到了这个问题。我的解决方案是将
--yarn
添加到命令中:
vsce publish --yarn -p $my_token
来源:@joaomoreno 的评论https://github.com/Microsoft/vscode-vsce/issues/246#issuecomment-396528264