Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] npm publish uses different registry then npm unpublish #559

Closed
mbazalik opened this issue Dec 5, 2019 · 1 comment
Closed

[BUG] npm publish uses different registry then npm unpublish #559

mbazalik opened this issue Dec 5, 2019 · 1 comment
Labels
Bug thing that needs fixing

Comments

@mbazalik
Copy link

mbazalik commented Dec 5, 2019

What / Why

This seems to be a duplicate of npm/npm#3032 even though the last comment claims the problem is resolved

In short, when the package contains both .npmrc and publishConfig setup it seems that npm publish is respecting setup from publishConfig while npm unpublish is using .npmrc

When

The project is using both .npmrc to define which registry to use to pull packages from and publishConfig to define to which registry the package should be pushed to

Example:
.npmrc

@dazn:registry=https://example.com/

package.json

{
...
  "name": "@dazn/daznid",
  "version": "2.0.1-rc00002",
  "publishConfig": {
    "@dazn:registry": "https://registry.npmjs.org/",
    "access": "restricted"
  },
...
}

npm publish --loglevel verbose output:

npm publish --loglevel verbose
npm info it worked if it ends with ok
npm verb cli [ '/usr/local/bin/node',
npm verb cli   '/usr/local/bin/npm',
npm verb cli   'publish',
npm verb cli   '--loglevel',
npm verb cli   'verbose' ]
npm info using [email protected]
npm info using [email protected]
npm verb npm-session 7920cfe554e24b7a
npm verb publish [ '.' ]
npm info lifecycle @dazn/[email protected]~prepublish: @dazn/[email protected]
npm info lifecycle @dazn/[email protected]~prepare: @dazn/[email protected]
npm info lifecycle @dazn/[email protected]~prepublishOnly: @dazn/[email protected]
npm WARN lifecycle @dazn/[email protected]~prepublishOnly: cannot run in wd @dazn/[email protected] npm run build:prod (wd=.)
npm info lifecycle @dazn/[email protected]~prepack: @dazn/[email protected]
npm info lifecycle @dazn/[email protected]~postpack: @dazn/[email protected]
npm notice 
npm notice package: @dazn/[email protected]
npm notice === Tarball Contents === 
npm notice 314B   dist/index.html
npm notice 21.8kB dist/daznid.js 
npm notice 1.3kB  package.json   
npm notice 1.3kB  README.md      
npm notice 117B   CHANGELOG.yml  
npm notice === Tarball Details === 
npm notice name:          @dazn/daznid                            
npm notice version:       2.0.1-rc00002                           
npm notice package size:  9.4 kB                                  
npm notice unpacked size: 24.8 kB                                 
npm notice shasum:        94bbabe79081807a6d768a9eb5debf282a969c00
npm notice integrity:     sha512-6GW6ARu37UeAm[...]gSjZ6cxVvXkRw==
npm notice total files:   5                                       
npm notice 
npm http fetch PUT 200 https://registry.npmjs.org/@dazn%2fdaznid 3769ms
npm info lifecycle @dazn/[email protected]~publish: @dazn/[email protected]
npm WARN lifecycle @dazn/[email protected]~publish: cannot run in wd @dazn/[email protected] npm run publish:ftp & git push --tags (wd=.)
npm info lifecycle @dazn/[email protected]~postpublish: @dazn/[email protected]
+ @dazn/[email protected]
npm verb exit [ 0, true ]
npm timing npm Completed in 4073ms
npm info ok 

npm unpublish -f --loglevel verbose @dazn/[email protected]

npm info it worked if it ends with ok
npm verb cli [ '/usr/local/bin/node',
npm verb cli   '/usr/local/bin/npm',
npm verb cli   'unpublish',
npm verb cli   '-f',
npm verb cli   '--loglevel',
npm verb cli   'verbose',
npm verb cli   '@dazn/[email protected]' ]
npm info using [email protected]
npm info using [email protected]
npm WARN using --force I sure hope you know what you are doing.
npm verb npm-session 9f0285a83a8cd55c
npm http fetch GET 401 https://example.com/@dazn%2fdaznid?write=true 105ms
npm verb stack Error: Unable to authenticate, need: Basic realm="Artifactory Realm"
npm verb stack     at res.buffer.catch.then.body (/usr/local/lib/node_modules/npm/node_modules/npm-registry-fetch/check-response.js:94:17)
npm verb stack     at process._tickCallback (internal/process/next_tick.js:68:7)
npm verb statusCode 401
npm verb pkgid @dazn/[email protected]
npm verb cwd /drone/src/github.com/getndazn/com-daznid
npm verb Linux 4.14.128-87.105.amzn1.x86_64
npm verb argv "/usr/local/bin/node" "/usr/local/bin/npm" "unpublish" "-f" "--loglevel" "verbose" "@dazn/[email protected]"
npm verb node v10.17.0
npm verb npm  v6.11.3
npm ERR! code E401
npm ERR! Unable to authenticate, need: Basic realm="Artifactory Realm"
npm verb exit [ 1, true ]
npm timing npm Completed in 328ms

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2019-12-05T15_17_19_217Z-debug.log

Where

  • npm enterprise

Current Behavior

npm publish uses registry defined in publishConfig
NOTICE npm http fetch PUT 200 https://registry.npmjs.org/@dazn%2fdaznid 3769ms in above example

npm unpublish uses registry defined in .npmrc
NOTICE npm http fetch GET 401 https://example.com/`@dazn%2fdaznid?write=true 105ms

Steps to Reproduce

See above

Expected Behavior

npm publish and npm unpublish to use same setup (preferably one which allow to have different registry for pull and push)

Who

  • n/a

References

Related to npm/npm#3032

@darcyclarke darcyclarke added the Bug thing that needs fixing label Oct 30, 2020
@darcyclarke
Copy link
Contributor

npm v6 is no longer in active development; We will continue to push security releases to v6 at our team's discretion as-per our Support Policy.

If your bug is preproducible on v7, please re-file this issue using our new issue template.

If your issue was a feature request, please consider opening a new RRFC or RFC. If your issue was a question or other idea that was not CLI-specific, consider opening a discussion on our feedback repo

Closing: This is an automated message.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug thing that needs fixing
Projects
None yet
Development

No branches or pull requests

2 participants