user15650989
user15650989

Reputation: 1007

npm ERR! code E401 npm ERR! Incorrect or missing password

My Node version is 10.15.0 and NPM version is 6.8.4 On running npm install after upgrading npm to 14.16.0 and npm to 7.6.2

Getting this error -

npm ERR! code E401
npm ERR! Incorrect or missing password.
npm ERR! If you were trying to login, change your password, create an
npm ERR! authentication token or enable two-factor authentication then
npm ERR! that means you likely typed your password in incorrectly.
npm ERR! Please try again, or recover your password at:
npm ERR!     https://www.npmjs.com/forgot
npm ERR! 
npm ERR! If you were doing some other operation then your saved credentials are
npm ERR! probably out of date. To correct this please try logging in again with:
npm ERR!     npm login

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/xyz/.npm/_logs/2021-04-15T18_55_07_993Z-debug.log

Upvotes: 86

Views: 229209

Answers (21)

Patrick
Patrick

Reputation: 2195

In my case, I was missing the scope parameter when running npm login.

Example:

npm login --scope=@mycorp --registry=https://registry.mycorp.com

Upvotes: 0

Arsman Ahmad
Arsman Ahmad

Reputation: 2211

I was facing the same issue. I tried all the above solutions, removed npm cache npm cache clean --force, did npm login, and then tried npm i and npm i -f on successful login.

With all these above tries, I could not get a solution. Then I tried this one and the issue was resolved:

  1. Check if this cmd giving you some authentication error.

vsts-npm-auth -config .npmrc

  1. If the above cmd shows you some authentication error, run this cmd:

vsts-npm-auth -config .npmrc -force

  1. Now try to install npm packages by npm i or npm i -f. It resolved the issue for me!!

Upvotes: 1

Ujjwal Tiwari
Ujjwal Tiwari

Reputation: 11

in my case, I just tried npm login, entered the credentials, logged in ( in my case it was GUI, in your case it might be in terminal ) and then ran the desired npm command again ( it was npm run test in my case ) and it worked!

Upvotes: 1

Oscar Zambrano
Oscar Zambrano

Reputation: 1

at least in my case it worked removing .npmrc from C:\Users[loginwindows] then run the command on admin powershell npm i -g vsts-npm-auth then run the command on admin powershell vsts-npm-auth -F -C .npmrc and that should have worked to solved the "ERR! code E401", now you could proceed to run npm run init on your project

Upvotes: 0

Mr.B
Mr.B

Reputation: 3787

I've tried everything that was suggested, but nothing worked. For me only worked one commend:

npm config set registry "https://registry.npmjs.com/"

Then command

npm install latest-version

Works with no error and all modules are installed.

Upvotes: 0

Vasavi
Vasavi

Reputation: 1

Had the same issue when the company registry configured in .npmrc file as below.

registry=https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/npm/registry/

always-auth=true

In the command prompt, I have given my .npmrc file location and ran the command "vsts-npm-auth -config .npmrc -F" to get an Azure Artifacts token added to our user-level .npmrc file. This created new credentials for me and fixed my issue.

Upvotes: 0

Ankush
Ankush

Reputation: 131

you will have to exectute below command to fix npm ERR! code E401 in Mac system

rm -rf /Users/username/.npmrc 
npm login
npm i

Upvotes: 0

Donia El Fouly
Donia El Fouly

Reputation: 135

in my case there was an outdated token in my .npmrc file so i pasted the new one and ran npm i and it worked

in terminal, i ran code ~/.npmrc and pasted the new .npmrc then npm i

Upvotes: 0

I had both .npmrc and token in base64 and the correct configuration of .npmrc itself, but I still got this error It helped me to change the version of node.js, when I switched from v20 to v17 the error disappeared. I don't understand how this is related, but maybe it will help someone.

Upvotes: 0

Himanshu Patel
Himanshu Patel

Reputation: 63

In my case, I encountered this error while dealing with the Azure Artifacts feed. By generating a new Personal Access Token (PAT) in Azure DevOps and using its Base64 encoded value in my .npmrc file, I was able to resolve this issue.

Upvotes: 1

Vishal Srivastava
Vishal Srivastava

Reputation: 350

What worked for me is:

npm login    
npm notice Log in on https://www.SOME_URL.com
Username: xyz
Password:
Email: (this IS public) (USER_EMAIL_ID.com)
Logged in as xyz on https://www.SOME_URL.com

and then npm login. All dependencies installed

Upvotes: 0

tangel
tangel

Reputation: 393

If you configured your .npmrc, maybe your credentials are expired or need new credentials. Try this vsts-npm-auth -config .npmrc. If it gives you this error [The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters.] try with vsts-npm-auth -config .npmrc -force. That should generate new credentials.

Upvotes: 3

davsto
davsto

Reputation: 532

Look at the specified log file (e. g. /Users/xyz/.npm/_logs/2021-04-15T18_55_07_993Z-debug.log). It could be that a 3rd party or corporate package to be installed requires authentication.

For example, if you try to install the pro icons of FontAwesome and the authentication (token) is missing, this error occurs.

Upvotes: 2

jfk
jfk

Reputation: 5287

I had the same error with the company registry configured in .npmrc

registry=https:<company-registry-url>

Node version : 19.1.0
NPM version : 8.19.3

Solution:

Execute npm login

$ npm login
npm notice Log in on https:<registry-url>
Username: xxxx
Password:
Email: (this IS public) (xxxx)
Logged in as xxx on https:<registry-url>.

After this .npmrc got updated with

//<registry-url>/:_authToken=xxxxx

Upvotes: 15

Andrey
Andrey

Reputation: 2068

Your password in .npmrc must be base64 encoded. Easy to screw up just copy-pasting the password, need to base64 encode that.

Upvotes: 5

paraS elixiR
paraS elixiR

Reputation: 2704

  1. Try Deleting the package-lock.json file before running the command "npm install" after upgrading the node versions, if you have not done that.

  2. If that will not work try removing the .npmrc file in $HOME directory as mentioned in this post.

NPM ERR Code E401: Unable to authenticate, need: Bearer authorization

Note - Deleting package-lock.json can have its own issues as mentioned in this posts, so go with this solution unless you find any better solution.

Deleting `package-lock.json` to Resolve Conflicts quickly

Upvotes: 99

JEuvin
JEuvin

Reputation: 1041

Reinstall the lastest node.js. That fixed my issue.

Upvotes: -4

Ant&#243;nio Silva
Ant&#243;nio Silva

Reputation: 21

It can be happening because of a bug on npm. This was happening to me with npm v7. Switched to v6 and it worked.

More context: https://github.com/npm/cli/pull/2153

Upvotes: 0

Samuel Earl
Samuel Earl

Reputation: 491

I have been getting the same error recently on various projects after running npm run dev:

npm ERR! code E401
npm ERR! Incorrect or missing password.

What fixed it for me was to delete my package-lock.json file (and any yarn.lock files, which might create conflicts with npm) and the node_modules directory. Then I updated my npm packages with npm update. (CAUTION: Before updating any npm packages, you should probably create a new Git branch and run npm update in that new branch. If you run into bigger problems after the updates, then you can revert back to your previous branch.)

After my packages were updated, then running my npm startup script (e.g. npm run dev) worked again without errors.

NOTE: You can run npm outdated to see which of your npm packages could use an update.

Upvotes: 4

user17966140
user17966140

Reputation: 11

Had the same issue with Node 16.x.x. I have done everything from this topic and those topics which were mentioned here and nothing helped me!

The only thing that helped me to login was that I have deleted Node 16.x.x and installed Node 14.8.1 from here - https://nodejs.org/en/download/releases/

Upvotes: 0

jay
jay

Reputation: 327

In the directory C/Users/your-windows-username/

delete the following files:

.cache
.package
.package-lock
.npmrc

After that, go to your project and run the following command in your terminal

npm i

Upvotes: 17

Related Questions