vsce 发布失败 - 使用 pnpm/yarn 的 VS Code 扩展

问题描述 投票:0回答:2

版本:

  • vsce版本1.71.0
  • 节点版本v10.15.3
  • npm 版本 6.4.1

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 错误!缺失:[电子邮件受保护],需要 [电子邮件受保护]

vscode-extensions yarnpkg pnpm yarn-v2
2个回答
2
投票

发生这种情况是因为扩展的链接器无法解析依赖项。

要修复它,请根据您的存储库使用的节点包管理器执行以下操作:

  • yarn
    回购:

    vsce publish --yarn -p $my_token
    
  • pnpm
    回购:

    1. 如果您没有运行时依赖项,您可以保持简单,只需将其添加到您的

      package.json

      "scripts": {
          "package": "pnpm vsce package --no-dependencies",
          "publish": "pnpm vsce publish --no-dependencies"
      }
      

      或运行命令

      vsce publish patch --no-dependencies
      (根据需要使用
      minor
      major
      代替
      patch
      ,请参阅semver

    2. 如果您有运行时依赖项,您需要首先捆绑它们,因此除了 (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 问题中的更多信息。


1
投票

在跑步

npm install
之前,您是否尝试过跑步
vsce publish

我在使用纱线时遇到了这个问题。我的解决方案是将

--yarn
添加到命令中:

vsce publish --yarn -p $my_token

来源:@joaomoreno 的评论https://github.com/Microsoft/vscode-vsce/issues/246#issuecomment-396528264

© www.soinside.com 2019 - 2024. All rights reserved.