Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error when trying to NPM Publish previously unpublished version

Tags:

node.js

npm

Whilst working on an NPM module while hungover (great plan), I bumped to the wrong version. "No problem" I thought. "I've done it before and solved with use of npm unpublish <module>@<version>." I did this and tried republishing yet it threw the error "cannot replace previously published version" despite this version not existing.

I decided to go nuclear. There was only 10 versions of my package so I decided to do npm unpublish <module> --force and start again from v0.0.1. I'm still getting the "cannot replace previously published version".

HELP!!! How can I fix this so I can put my package back?

Error log below

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
like image 896
MrSimonEmms Avatar asked Feb 22 '14 09:02

MrSimonEmms


People also ask

Do I need to build before npm publish?

Requirements. All you need to build(and then publish) an NPM package is the NPM command line tool which also goes by the name npm . npm is distributed with NodeJS, this means that when you install NodeJS, you automatically get npm installed on your computer.

Can you unpublish from npm?

As a package owner or collaborator, if your package has no dependents, you can permanently remove it from the npm registry by using the CLI. You can unpublish within 72 hours of the initial publish; beyond 72 hours, you can still unpublish your package if it meets certain criteria.


2 Answers

You can't do that anymore.

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

TLDR: when you unpublish a version and then publish something else instead, you can break people's code, and so it's bad.

like image 99
vkurchatkin Avatar answered Oct 21 '22 11:10

vkurchatkin


You can unpublish the package if it's less than 24hr old

npm unpublish --force <package_name>@<version>

like image 20
Anenth Avatar answered Oct 21 '22 10:10

Anenth