【问题标题】:Error when trying to NPM Publish previously unpublished version尝试 NPM 发布以前未发布的版本时出错
【发布时间】:2014-03-24 00:51:00
【问题描述】:

在宿醉时开发 NPM 模块(很棒的计划),我碰到了错误的版本。 “没问题”我想。 “我以前做过,用npm unpublish <module>@<version>解决了。”我这样做并尝试重新发布,但它抛出错误“无法替换以前发布的版本”,尽管此版本不存在。

我决定去核。我的包只有 10 个版本,所以我决定做 npm unpublish <module> --force 并从 v0.0.1 重新开始。我仍然收到“无法替换以前发布的版本”。

帮助!!!我该如何解决这个问题,以便我可以放回我的包裹?

下面的错误日志

npm publish v0.0.1.tar.gz

npm http PUT https://registry.npmjs.org/datautils
npm http 403 https://registry.npmjs.org/datautils
npm http PUT https://registry.npmjs.org/datautils
npm http 403 https://registry.npmjs.org/datautils
npm ERR! publish Failed PUT 403
npm ERR! Error: forbidden Cannot replace previously published version: 0.0.1: datautils
npm ERR!     at RegClient.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:275:14)
npm ERR!     at Request.self.callback (/usr/local/lib/node_modules/npm/node_modules/request/request.js:123:22)
npm ERR!     at Request.EventEmitter.emit (events.js:98:17)
npm ERR!     at Request.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/request/request.js:893:14)
npm ERR!     at Request.EventEmitter.emit (events.js:117:20)
npm ERR!     at IncomingMessage.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/request/request.js:844:12)
npm ERR!     at IncomingMessage.EventEmitter.emit (events.js:117:20)
npm ERR!     at _stream_readable.js:920:16
npm ERR!     at process._tickCallback (node.js:415:13)
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR!     <http://github.com/isaacs/npm/issues>

npm ERR! System Linux 3.11.0-12-generic
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "publish" "datautils-js-0.0.1.tar.gz"
npm ERR! cwd /home/semms/Desktop/datautils
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.24
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /home/semms/Desktop/datautils/npm-debug.log
npm ERR! not ok code 0

【问题讨论】:

    标签: node.js npm


    【解决方案1】:

    你不能再这样做了。

    https://github.com/npm/npmjs.org/issues/148

    TLDR:当您取消发布一个版本,然后再发布其他内容时,您可能会破坏人们的代码,因此很糟糕。

    【讨论】:

    • 我看到这个并且同意这个逻辑。但是我已经能够取消发布包(从而破坏代码)并且无法将其放回。
    • 逻辑是:当你取消发布包/版本时,错误将立即弹出,当有人这样做时npm install。当你替换它时,它会工作,新的和不可靠的代码可以投入生产。
    • 完全同意@RiggerTheGeek。它不应该允许取消发布。
    【解决方案2】:

    如果包小于 24 小时

    ,您可以取消发布包

    npm unpublish --force &lt;package_name&gt;@&lt;version&gt;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-21
      • 2022-06-22
      • 2018-06-11
      • 2019-05-12
      • 2016-12-31
      • 1970-01-01
      • 1970-01-01
      • 2011-07-10
      相关资源
      最近更新 更多