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

npm publish has resulted in error "You need to authorize this machine using npm adduser" #25

Closed
furixturi opened this issue Jun 11, 2015 · 35 comments

Comments

@furixturi
Copy link

Hi,

In the 08 Publish chapter I was not able to npm publish against the .npmrc local environment. However it worked when the .npmrc file removed and with a connection to https://www.npmjs.com/. None of the following chapters worked correctly either against this local environment, and all worked well again without the .npmrc file and with a connection to https://www.npmjs.com/.

I once went through the 02 Login chapter smoothly and npm whoami returned the correct info. At this point running npm whoami also results in authentication errors.

Looking at the path that userconfig in .npmrc pointed to (userconfig = /Users/xiaoli.shen/.config/how-to-npm/npmrc), there is no such file or folder named npmrc, which might be the reason for the authentication errors.

I'm using version 2.0.0 of how-to-npm and on Mac OS 10.9.5

My npm-debug.log is as follows:

0 info it worked if it ends with ok
1 verbose cli [ 'node', '/usr/local/bin/npm', 'adduser' ]
2 info using [email protected]
3 info using [email protected]
4 verbose adduser before first PUT { _id: 'org.couchdb.user:alabebop',
4 verbose adduser   name: 'alabebop',
4 verbose adduser   password: 'XXXXX',
4 verbose adduser   email: '[email protected]',
4 verbose adduser   type: 'user',
4 verbose adduser   roles: [],
4 verbose adduser   date: '2015-06-11T09:07:53.405Z' }
5 verbose request uri http://localhost:15443/-/user/org.couchdb.user:alabebop
6 verbose request new user, so can't send auth
7 info attempt registry request try #1 at 11:07:53
8 verbose request id 8f19ff7f3662cb4c
9 http request PUT http://localhost:15443/-/user/org.couchdb.user:alabebop
10 info retry will retry, error on last attempt: Error: connect ECONNREFUSED
11 info attempt registry request try #2 at 11:08:03
12 http request PUT http://localhost:15443/-/user/org.couchdb.user:alabebop
13 info retry will retry, error on last attempt: Error: connect ECONNREFUSED
14 info attempt registry request try #3 at 11:09:03
15 http request PUT http://localhost:15443/-/user/org.couchdb.user:alabebop
16 verbose request invalidating /Users/xiaoli.shen/.npm/localhost_15443/-/user/org.couchdb.user_3Aalabebop on PUT
17 verbose adduser back [ { [Error: connect ECONNREFUSED]
17 verbose adduser     code: 'ECONNREFUSED',
17 verbose adduser     errno: 'ECONNREFUSED',
17 verbose adduser     syscall: 'connect' },
17 verbose adduser   undefined,
17 verbose adduser   undefined ]
18 verbose stack Error: connect ECONNREFUSED
18 verbose stack     at exports._errnoException (util.js:746:11)
18 verbose stack     at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1010:19)
19 verbose cwd /Users/xiaoli.shen/projects/nodeschool/how-to-npm
20 error Darwin 13.4.0
21 error argv "node" "/usr/local/bin/npm" "adduser"
22 error node v0.12.4
23 error npm  v2.11.1
24 error code ECONNREFUSED
25 error errno ECONNREFUSED
26 error syscall connect
27 error Error: connect ECONNREFUSED
27 error     at exports._errnoException (util.js:746:11)
27 error     at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1010:19)
27 error  { [Error: connect ECONNREFUSED]
27 error   code: 'ECONNREFUSED',
27 error   errno: 'ECONNREFUSED',
27 error   syscall: 'connect' }
28 error If you are behind a proxy, please make sure that the
28 error 'proxy' config is set properly.  See: 'npm help config'
29 verbose exit [ 1, true ]
@swestcott
Copy link

Ditto, same software versions and same error.

@meppsilon
Copy link

I'm running into this error as well. Any suggestions on how to bypass it?

@smirciat
Copy link

Same issue here. It sounds like @alabebop has a workaround, but I am too new to this environment to understand it. Is any further guidance available?

@AnandWalvekar
Copy link

It go resolved!!!

  1. Switch to Login module (by typing "how-to-npm" on command line)
  2. Type "npm adduser" to login
  3. Type "npm whoami" to confirm if logged in
  4. Switch back to the package at which you are getting error(my case it was Publish Again)
  5. Type "npm publish"
  6. Done

@devhammer
Copy link

@AnandWalvekar That workaround didn't work for me. Still fails to publish, even when npm whomi correctly returns my username.

Getting the following output:

npm ERR! publish Failed PUT 404
npm ERR! Windows_NT 6.3.9600
npm ERR! argv "node" "C:\\Users\\USERNAME\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "publish"
npm ERR! node v0.12.5
npm ERR! npm  v2.13.3
npm ERR! code E404

npm ERR! 404 missing : @myUser/how-to-npm
npm ERR! 404
npm ERR! 404 '@myUser/how-to-npm' 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 ERR! Please include the following file with any support request:
npm ERR!     C:\Users\USERNAME\Documents\node_code\nodeschool.io\how-to-npm\npm-debug.log

@jmanuel1
Copy link

Getting same error as @devhammer, with node v0.10.35 on Windows 10.

@quangnd
Copy link

quangnd commented Aug 16, 2015

AnandWalvekar's solution worked with me!

@davis3792
Copy link

The work around fixed it for me as well. Wasted a bunch of time getting there though.

@su6a12
Copy link

su6a12 commented Aug 28, 2015

Solution worked for me as well, thanks @AnandWalvekar

@seonixx
Copy link

seonixx commented Aug 30, 2015

Workaround worked for me. Cheers @AnandWalvekar

@bennythejudge
Copy link

@AnandWalvekar thanks a lot it worked but I had to bump the version.
Could a skip be provided for this step?

@jondcoleman
Copy link

Also had this error and workaround worked for me.

@aclbros
Copy link

aclbros commented Oct 18, 2015

Workaround worked for me. Cheers @AnandWalvekar

@ashleygwilliams
Copy link
Contributor

closing in favor of #46. i believe the windows problem is already doc'd in #37

@agungsantoso
Copy link

AnandWalvekar's solution worked with me!

@sawant
Copy link

sawant commented Mar 25, 2016

I have documented the issue and solution here #8 (comment) .

@piyushdubey
Copy link

@AnandWalvekar's solution worked for me as well!

@lpix
Copy link

lpix commented Mar 29, 2016

@AnandWalvekar's solution worked for me! I suggest adding this as a tip in the module in case someone has the same issue

@sudoVlad
Copy link

@AnandWalvekar Thanks for the solution

@swheatley
Copy link

I had to go through the steps a few times but the work around for the solution mentioned above does work :)

@sergiomgaspar
Copy link

@AnandWalvekar thx for the WA.. worked like a charm :)

@alundiak
Copy link

alundiak commented Dec 4, 2017

@AnandWalvekar solution works for me locally. but At the moment I can't figure out why the same flow doesn't work on Jenkins.
If someone has ideas, I will very thankful.

This is cut from my custom .npmrc file created by Jenkins.

; userconfig /home/builder/.jenkins/jobs/FDD test - simple project/workspace@tmp/config3550090785588839693tmp
always-auth = true
registry = "https://my-server.com:8443/repository/my-hosted-npm"
strict-ssl = false

always-auth = true means, that I provided NPM user credentials on jenkins level, and I expected Jenkins pass/substitute creds during npm publish but I can't get why it doens't work..

@renatoathaydes
Copy link

Does not work!

npm adduser
Username: xxxxxx
Password:
Email: (this IS public) [email protected]
Logged in as xxxxx on https://registry.npmjs.org/.
➜  lib1 npm publish
npm ERR! code ENEEDAUTH
npm ERR! need auth auth required for publishing
npm ERR! need auth You need to authorize this machine using `npm adduser`

@alundiak
Copy link

alundiak commented Jan 15, 2018

@renatoathaydes

  1. What OS u have?
  2. what is ur .npmrc content or
  3. what is output of npm config list?

I see, you have https://registry.npmjs.org/ as registry, so I assume npm get registry will show it. have you tried to change to http://registry.npmjs.org/ (http).

  1. strict-ssl = false set?
  2. Are u under/behind the some proxy/vpn?

@renatoathaydes
Copy link

OS: Linux renato 4.4.0-104-generic #127-Ubuntu SMP Mon Dec 11 12:16:42 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

//registry.npmjs.org/:_authToken=cef314xxxxxxx
init.author.name=Renato Athaydes
init.author.email=renatoathaydes@xxxx
➜  npm config list
; cli configs
metrics-registry = "https://registry.npmjs.org/"
scope = ""
user-agent = "npm/5.6.0 node/v9.4.0 linux x64"

; userconfig /home/renato/.npmrc
init.author.email = "renatoathaydes@xxxx"
init.author.name = "Renato Athaydes"

; node bin location = /home/renato/.nvm/versions/node/v9.4.0/bin/node
; cwd = /home/renato/programming/projects/node-lib-mismatch/lib3
; HOME = /home/renato
; "npm config ls -l" to show all defaults.

I am at home, no proxies. No strict-ssl = false that I can see. And I would prefer to not use http.

@yordis
Copy link

yordis commented Feb 10, 2018

I keep getting the same error even when I successfully login. npm whoam give me the correct user but it keep failing no matter what.

@JMuhire
Copy link

JMuhire commented May 14, 2018

In my ci script, I have resolved this issue using a _auth token and setting up the user email like this :

npm config set _auth $NPM_REGISTRY_TOKEN && npm config set registry $NPM_REGISTRY_URL && npm config set always-auth=true && npm config set [email protected]

@petermetz
Copy link

My issue was that I had the publishConfig object specified in package.json which defined an invalid URL (some private registry).
Had to set it up like this:

  "publishConfig": {
    "registry": "https://registry.npmjs.org/"
  },

@zrubing
Copy link

zrubing commented Jun 15, 2018

npm whoami is correct
I use sudo npm publish is failure,when i switch back to normal user then it worked

@Bittttter
Copy link

Bittttter commented Nov 21, 2020

I just delete currentdir/.npmrc and then use nrm use to switch npm registry. And It works.

@geoidesic
Copy link

@Bittttter nrm use is not a thing. ?

@Carnia
Copy link

Carnia commented Apr 2, 2021

My issue was that I had the publishConfig object specified in package.json which defined an invalid URL (some private registry).
Had to set it up like this:

  "publishConfig": {
    "registry": "https://registry.npmjs.org/"
  },

yes, when i delete publishConfig in package.json,I can publish it normally。

leonelsanchesdasilva added a commit to DesignLiquido/delegua-matematica that referenced this issue Sep 11, 2022
@TylerSustare
Copy link

I had to go pro, publish the package, make the package public, and open a ticket to get my money back. It was super stupid.

@zuenir
Copy link

zuenir commented Feb 28, 2024

It go resolved!!!

  1. Switch to Login module (by typing "how-to-npm" on command line)
  2. Type "npm adduser" to login
  3. Type "npm whoami" to confirm if logged in
  4. Switch back to the package at which you are getting error(my case it was Publish Again)
  5. Type "npm publish"
  6. Done

Thank you, it helped to solve my problem

@sinawic
Copy link

sinawic commented Mar 27, 2024

In my ci script, I have resolved this issue using a _auth token and setting up the user email like this :

npm config set _auth $NPM_REGISTRY_TOKEN && npm config set registry $NPM_REGISTRY_URL && npm config set always-auth=true && npm config set [email protected]

@JMuhire
its 2024 and I wanna thank u for this!

i just added
registry=
_authToken=
to the .npmrc file and it workeddd

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

No branches or pull requests