ChatGPT解决这个技术问题 Extra ChatGPT

When I run `npm install`, it returns with `ERR! code EINTEGRITY` (npm 5.3.0)

I am getting this error while running sudo npm install. On my server, npm was installed earlier. I've tried to delete the package-lock.json file, and ran npm cache clean --force, but it didn't work.

My npm version is 5.3.0.

The error:

npm ERR! code EINTEGRITY
npm ERR! sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA== integrity checksum failed when using sha512: wanted sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA== but got sha512-WXI95kpJrxw4Nnx8vVI90PuUhrQjnNgghBl5tn54rUNKZYbxv+4ACxUzPVpJEtWxKmeDwnQrzjc0C2bYmRJVKg==. (65117 bytes)

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/ubuntu/.npm/_logs/2017-11-29T05_33_52_182Z-debug.log
See Solution below to sidestep the cause of the problem, especially when connectivity is an issue.
In my case it worked by simply running the command again!
Running following 2 commands solved my problem. $ rm -rf package-lock.json node_modules $ npm install

e
erikvold

See https://github.com/npm/npm/issues/16861

This worked for me:
npm cache verify

Then I re-ran:
npm install -g create-react-app

And it installed as expected: Issue resolved.

Other solutions mentioned in the GitHub issue include:

npm cache clean --force

OR

Deleting npm and npm-cache folders in Users%username%\AppData\Roaming (Windows 7 and Windows 10) and running npm install

OR

Update npm by via npm i -g npm

OR

Delete package-lock.json

OR

npm cache clean

OR

Do these steps to fix the problem:

Find all outdated packages and update theme: npm outdated -g sudo npm i -g outDatedPKG Upgrade npm to latest version with: sudo npm i -g npm Delete package-lock.json file. Delete _cacache directory in ~/.npm: npm cache verify Every time I get that error, do steps 2 & 3. If you still get the error, clear npm's cache: npm cache clean --force

OR

Add proxy to .npmrc in ~ directory:

proxy=http://localhost:8123
https-proxy=http://localhost:8123

Try again! slow internet connection and censorship may cause this ugly problem.

OR

npm cache clear --force && npm install --no-shrinkwrap --update-binary

OR

npm config set package-lock false


Thank you! That was very helpful and I solved my problem choosing some of the given options.
Super !! So Glad to Help :-)
Sheryl, first: thanks for taking the time to answer this. It's clear your answer was helpful to people. Can I ask you what each of these alternatives does, and why some may work when others don't? Thanks!
@AndresF. I do not have a deep understanding of how the underbelly of yarn works, or when/why some methods work over others. In some cases they essentially accomplish the same thing, but go about triggering it in a different way. I linked to the github issue where all these solutions were presented - it is the source of the compiled list in my answer. I suggest research into the underbelly of yarn and npm, or checking out the github issue linked, perhaps reaching out to individual authors if necessary.
In case, any update in node js version in local machine, It will through this error.
G
Gaurav Joshi

Delete package-lock.json file and then try to install


Thanks for this comment, it helped me resolve the issue, when I was deploying a GatsbyJS site to Netlify.
Tried all above and this was the solution!
yeah It worked after deleting the package-lock.jason and re running npm install
Very bad solution. package-lock.json must be used to control all dependencies and versions
s
sashoalm

The issue was indeed in package-lock.json, and after replacing it with a working version from another branch it worked.

What's interesting is seeing the diff:

https://i.stack.imgur.com/l0UuL.png

So there really is some integrity checksum in the package-lock.json and it was replaced in our package-lock.json with a SHA1 instead of a SHA-512 checksum. See here for more info.

In case you don't have a working version in another branch. Consider the message

npm ERR! code EINTEGRITY
npm ERR!
  sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==
integrity checksum failed when using sha512: wanted
  sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==
but got
  sha512-WXI95kpJrxw4Nnx8vVI90PuUhrQjnNgghBl5tn54rUNKZYbxv+4ACxUzPVpJEtWxKmeDwnQrzjc0C2bYmRJVKg==
. (65117 bytes)

Find the package in package-lock.json using the first checksum:

sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==

and put the third checksum into its "integrity" field:

sha512-WXI95kpJrxw4Nnx8vVI90PuUhrQjnNgghBl5tn54rUNKZYbxv+4ACxUzPVpJEtWxKmeDwnQrzjc0C2bYmRJVKg==

A more detailed description is here.


where is package-lock.json file?
@Mamen in the root directory of your app, next tp package.json. package.json lists the dependencies (packages) your app needs in order to compile/run. When you run yarn install or yarn, the packages listed in that file will be downloaded and installed, so the project/app can be run. The "lock" file is one difference between npm and yarn, ensuring package versions, and integrity.
The only solution that came close to solving it for me. Deleting package-lock.json should remedy it as well. At least in my case. Although that is apparently not desirable. And to be fair I must mention here that OP tried to delete the file, so the case that this answer addresses is probably somewhat different.
S
SANITH

Actually the above is related to the network connectivity in side the server. When I've good connectivity in the server, the npm install gone good and didn't throw any error


Mine worked after switching over to a vpn connection, so it's definitely a connection issue
Thanks. Seems its a network issue. Worked after I tried again.
M
Mercury

My problem was 2 things:

Bad package-lock.json file The existance of npm-shrinkwrap.json together with the package-lock.json file

What i did is:

Deleted the package-lock.json file Delete the npm-shrinkwrap.json file Ran npm install again (which recreated a good package-lock file)

Fixed my error!


I had this problem building on AWS Codebuild. This worked for me. Thanks.
In my case was the package-lock! Problem solved for me! Thanks!
R
Raj

I was stuck at this for a long time and this is what helped me.

Try this:

npm cache clean --force
npm install --update-binary --no-shrinkwrap

Found this answer after digging into GitHub issues!!


e
eyllanesc

As a workaround, follow the below steps:

Go to the project directory Remove the node_modules directory: rm -rf node_modules Remove package-lock.json file: rm package-lock.json Clear the cache: npm cache clean --force Run npm install --verbose If after following the above steps still the issue exists then please provide us the output of installation command with --verbose.


I am new to npm. Verbose gave me some hint.
B
Blackbam

Try the following:

npm cache clean --force

This has worked for me.


This does not add any value to the answers that are already here. The most highly up-voted comment already mentions npm cache clean --force, so this answer just reads as noise.
While this code may answer the question, providing additional context regarding how and/or why it solves the problem would improve the answer's long-term value.
j
jfajunior

There are several valid and helpful responses here, but I would like to add that in my case the simplest solution was:

Delete package-lock.json; Remove folder AppData\Local\npm\cache or AppData\Roaming\npm\cache; Remove folder node_modules.staging; Run npm install again.

After that everything ran smoothly.


A
Aleks-Daniel Jakimenko-A.

This Worked for me . open the project in CMD the run

npm cache verify 
npm install 
npm start

S
Sebastian D'Agostino

I had a very similar problem, and in my case it worked by doing:

npm clean

This is the nuclear option since it clears every package from the cache as expained here.


S
Sai Ram

I was using private npm registry and trying to install private npm module. Logging to npm local registry fixed it (used command npm --add-user)


S
SherylHohman

SherylHohman's answer solved the issue I had, but only after I switched my internet connection. Intitially, I was on the hard-line connection at work, and I switched to the WiFi connection at work, but that still didn't work.

As a last resort, I switched my WiFi to a pocket-WiFi, and running the following worked well:

npm cache verify

npm install -g create-react-app

create-react-app app-name

Hope this helps others.


u
user3966432

I am behind my organization's proxy, running the following commands fixed the issue for me

npm config set proxy http://proxy.yourproxydomain.com:port
npm config set https-proxy http://proxy.yourproxydomain.com:port
npm config set strict-ssl false
npm config set registry https://registry.npmjs.org/

M
Matthew Blewitt

Updating .npmrc and the registry to https:// worked for me

registry=https://registry.npmjs.org/

C
Chad Scira

This was not yet mentioned but make sure that your SYSTEM TIME is correct. If it is too out of sync it will cause a EINTEGRITY error. When you are doing npm publish / install.


Z
Zach Pedigo

None of the above answers worked for me. The solution to my issue was to change the way the snapshot dependency was consumed inside the package.json. Use the following template to pull in the snapshot dependency that you need

"dependency": "git+http://github.com/[pathtoproject].git#[branchname]",

b
biggest_boy

I had the same issue. I used yarn instead of npm to install the dependencies and it worked.

yarn add *****

m
myxlptlk

After going through all the answers and executing most of them. Although I resisted to try the Restart magic, eventually, the issue is solved after restart on my macbook(MacOS Catalina Ver. 10.15.7).

It seems like a cache issue indeed but none of the commands that I have executed cleared the cache.


K
Kidus Yared

What worked for me was npm cache verify then re-run your command. All should be good.


K
Ketcomp

Updating the .npmrc files' entries for scoped and un-scoped packages worked for me. So I ended up using the

npm config set @scope_name:registry SCOPED_REGISTRY_URL

and

npm config set registry PUBLIC_REGISTRY_URL


T
Technotronic

We had this problem multiple times in the company I work at. Deleting the node_modules folder from the .nvm folder fixed the problem:

rm -rf ~/.nvm/versions/node/v8.6.0/lib/node_modules

G
Güçlü Kıvanç

You should check Connection-specific DNS Suffix when type “ipconfig” or “ifconfig” in terminal


c
code_Jammy

I faced same issue. Plus while I was trying to resolve from picking solutions from other devs, I faced few more issues like one listed here.

Angular 9 ng new myapp gives error The Schematic workflow failed

https://medium.com/@codewin/npm-warn-deprecated-request-2-88-2-b6da20766fd7

Finally after trying cache clean and verify and reinstall node of different versions and npm update, nvm and many other solution like set proxy and better internet connection, I still could not arrive to a resolve.

What worked for me is : I browsed a bit inside my C:\Users--- folder, I found package-lock.json and .npmrc files. I deleted those and reinstalled angular and tried. npm install and uninstall of different modules started working.

https://i.stack.imgur.com/Hn52g.png


J
Jaimil Patel

Before i was running this command

npm install typescript -g

after changing the command it worked perfectly.

npm install -g typescript

M
Mani Bharathy

I faced this issue. It was my network connectivity. I changed network (from Broadband WiFi to 4G WiFi) and tried. It worked.

My broadband ISP was blocking all http requests. That might be the reason I guess in my case.


k
k_a_ r_i_s-

all solutions failed for me till i checked router settings; it was set to only IPV4.. i changed and put ipv4v6 and all is working fine now.


d
dancl

In my case the sha command was missing from my linux distro; steps were

added the packages for sha512 (on my distro sudo apt install hashalot)

npm cache verify

rm -rf node_modules

npm install


S
Sinan Samet

Easy and fast fix for me was to npm install the specific package on which it said the sha is wrong. Say your package is called awesome-package.

My solution was:

npm i awesome-package

This updated my sha within the package-lock.json.


L
Lakshmikanth Vallampati

If none of the above solved your problem, then just upgrade your npm verion and try. It worked for me.


Welcome to SO, please consider to give mode detailed answers

关注公众号,不定期副业成功案例分享
Follow WeChat

Success story sharing

Want to stay one step ahead of the latest teleworks?

Subscribe Now