Skip to content

npm package registry unpublish not working

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Summary

The Gitlab.com NPM Package registry does not support unpublish.

Steps to reproduce

Create a npm repo, publish a module and try unpublish it.

  1. Publishing works
npm publish --verbose

npm info it worked if it ends with ok
npm verb cli [
npm verb cli   '/Users/xxx/.nvm/versions/node/v14.1.0/bin/node',
npm verb cli   '/Users/xxx/.nvm/versions/node/v14.1.0/bin/npm',
npm verb cli   'publish',
npm verb cli   '--verbose'
npm verb cli ]
npm info using npm@6.14.4
npm info using node@v14.1.0
npm verb npm-session 3d6d935d74ee9b21
npm verb publish [ '.' ]
npm info lifecycle @public-projects15/unpublish-issue@1.0.0~prepublish: @public-projects15/unpublish-issue@1.0.0
npm info lifecycle @public-projects15/unpublish-issue@1.0.0~prepare: @public-projects15/unpublish-issue@1.0.0
npm info lifecycle @public-projects15/unpublish-issue@1.0.0~prepublishOnly: @public-projects15/unpublish-issue@1.0.0
npm info lifecycle @public-projects15/unpublish-issue@1.0.0~prepack: @public-projects15/unpublish-issue@1.0.0
npm info lifecycle @public-projects15/unpublish-issue@1.0.0~postpack: @public-projects15/unpublish-issue@1.0.0
npm notice 
npm notice 📦  @public-projects15/unpublish-issue@1.0.0
npm notice === Tarball Contents === 
npm notice 21B  index.js      
npm notice 515B package.json  
npm notice 19B  README.md     
npm notice 341B .gitlab-ci.yml
npm notice === Tarball Details === 
npm notice name:          @public-projects15/unpublish-issue      
npm notice version:       1.0.0                                   
npm notice package size:  604 B                                   
npm notice unpacked size: 896 B                                   
npm notice shasum:        183006c6177ae3d5ac4e177118e8b9ae7e2e7687
npm notice integrity:     sha512-z31OPgHUN65UK[...]gib4n2VWVXNdQ==
npm notice total files:   4                                       
npm notice 
npm http fetch PUT 200 https://gitlab.com/api/v4/projects/24317297/packages/npm/@public-projects15%2funpublish-issue 624ms
npm info lifecycle @public-projects15/unpublish-issue@1.0.0~publish: @public-projects15/unpublish-issue@1.0.0
npm info lifecycle @public-projects15/unpublish-issue@1.0.0~postpublish: @public-projects15/unpublish-issue@1.0.0
+ @public-projects15/unpublish-issue@1.0.0
npm verb exit [ 0, true ]
npm timing npm Completed in 1190ms
npm info ok 
  1. npm install @public-projects15/unpublish-issue works too

  2. Unpublishing with version 1.0.0 throws a weird 404 (look at the URL, includes no version and -dev/undefined)

npm unpublish @public-projects15/unpublish-issue@1.0.0 --verbose

npm info it worked if it ends with ok
npm verb cli [
npm verb cli   '/Users/xxx/.nvm/versions/node/v14.1.0/bin/node',
npm verb cli   '/Users/xxx/.nvm/versions/node/v14.1.0/bin/npm',
npm verb cli   'unpublish',
npm verb cli   '@public-projects15/unpublish-issue@1.0.0',
npm verb cli   '--verbose'
npm verb cli ]
npm info using npm@6.14.4
npm info using node@v14.1.0
npm verb npm-session b420ac12ebb002f8
npm http fetch GET 200 https://gitlab.com/api/v4/projects/24317297/packages/npm/@public-projects15%2funpublish-issue?write=true 519ms
npm http fetch DELETE 404 https://gitlab.com/api/v4/projects/24317297/packages/npm/@public-projects15%2funpublish-issue/-rev/undefined 215ms
npm verb stack Error: 404 Not Found - DELETE https://gitlab.com/api/v4/projects/24317297/packages/npm/@public-projects15%2funpublish-issue/-rev/undefined - 404 Not Found
npm verb stack     at /Users/xxx/.nvm/versions/node/v14.1.0/lib/node_modules/npm/node_modules/npm-registry-fetch/check-response.js:104:15
npm verb stack     at processTicksAndRejections (internal/process/task_queues.js:97:5)
npm verb statusCode 404
npm verb pkgid @public-projects15/unpublish-issue@1.0.0
npm verb cwd /Users/xxx/Documents/aws/unpublish-issue
npm verb Darwin 18.7.0
npm verb argv "/Users/xxx/.nvm/versions/node/v14.1.0/bin/node" "/Users/xxx/.nvm/versions/node/v14.1.0/bin/npm" "unpublish" "@public-projects15/unpublish-issue@1.0.0" "--verbose"
npm verb node v14.1.0
npm verb npm  v6.14.4
npm ERR! code E404
npm ERR! 404 Not Found - DELETE https://gitlab.com/api/v4/projects/24317297/packages/npm/@public-projects15%2funpublish-issue/-rev/undefined - 404 Not Found
npm ERR! 404 
npm ERR! 404  '@public-projects15/unpublish-issue@1.0.0' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404 
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.
npm verb exit [ 1, true ]
npm timing npm Completed in 1205ms
  1. Unpublishing with version v1.0.0 instead of 1.0.0 resolves in 304?
npm unpublish @public-projects15/unpublish-issue@v1.0.0 --verbose

npm info it worked if it ends with ok
npm verb cli [
npm verb cli   '/Users/xxx/.nvm/versions/node/v14.1.0/bin/node',
npm verb cli   '/Users/xxx/.nvm/versions/node/v14.1.0/bin/npm',
npm verb cli   'unpublish',
npm verb cli   '@public-projects15/unpublish-issue@v1.0.0',
npm verb cli   '--verbose'
npm verb cli ]
npm info using npm@6.14.4
npm info using node@v14.1.0
npm verb npm-session 6ed5b1c327ea0cdf
npm http fetch GET 304 https://gitlab.com/api/v4/projects/24317297/packages/npm/@public-projects15%2funpublish-issue?write=true 503ms (from cache)
- @public-projects15/unpublish-issue@v1.0.0
npm verb exit [ 0, true ]
npm timing npm Completed in 943ms
npm info ok 
  1. View versions shows nothing has been unpublished
npm view @public-projects15/unpublish-issue versions

[ '1.0.0' ]

.npmrc looks as follows:

@public-projects15:registry=https://gitlab.com/api/v4/projects/24318804/packages/npm/
'//gitlab.com/api/v4/packages/npm/:_authToken'="my_awesome_token"
'//gitlab.com/api/v4/projects/24318804/packages/npm/:_authToken'="my_awesome_token"

The token used is a deploy token with read/write registry scope but even using personal access tokens with all rights produce the same output.

Example Project

https://gitlab.com/public-projects15/unpublish-issue

What is the current bug behavior?

npm unpublish doesnt unpublish packages from npm registry

What is the expected correct behavior?

npm unpublish unpublishes package

Relevant logs and/or screenshots

Output of checks

This bug happens on GitLab.com

Results of GitLab environment info

Results of GitLab application Check

Possible fixes

Edited by 🤖 GitLab Bot 🤖