Reputation: 3287
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
Upvotes: 261
Views: 376530
Reputation: 36004
The issue occurred for me during an upgrade to node 18 - my package-lock file was holding onto a stale resolution from a custom registry our team no longer used.
Unforutnately, removing package lock, clearing the cache and running npm install were not enough.
Deleting the stale resolutions in package-lock followed by npm install fix the issue for me.
Here I deleted the line beginning with "resolved":
// package-lock.json
"node_modules/closest-file-data": {
"version": "0.1.4",
- "resolved": "https://foo.foobar.io/foo/api/npm/npm-dev/closest-file-data/-/closest-file-data-0.1.4.tgz"
,
"integrity": "sha1-l1+HwTLymdJKA3W59jyj+4j3Kzo=",
Generally you want to avoid manual changes to this file but my machine kept insisting I use the cached package
Upvotes: 0
Reputation: 1057
Updating nodejs version worked for me.
curl -fsSL https://deb.nodesource.com/setup_12.x | sudo -E bash - sudo apt-get install -y nodejs
Upvotes: 0
Reputation: 79685
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:
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.
Upvotes: 51
Reputation: 17980
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:
npm outdated -g
sudo npm i -g outDatedPKG
sudo npm i -g npm
package-lock.json
file._cacache
directory in ~/.npm
:
npm cache verify
npm cache clean --force
OR
.npmrc
in ~
directory:proxy=http://localhost:8123
https-proxy=http://localhost:8123
OR
npm cache clear --force && npm install --no-shrinkwrap --update-binary
OR
npm config set package-lock false
Upvotes: 396
Reputation: 1
If none of the above solved your problem, then just upgrade your npm verion and try. It worked for me.
Upvotes: 0
Reputation: 6752
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.
Upvotes: 0
Reputation: 727
In my case the sha command was missing from my linux distro; steps were
Upvotes: 1
Reputation: 21
What worked for me was npm cache verify
then re-run your command. All should be good.
Upvotes: 1
Reputation: 139
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.
Upvotes: 1
Reputation: 481
I had the same issue. I used yarn instead of npm to install the dependencies and it worked.
yarn add *****
Upvotes: 1
Reputation: 99
This Worked for me . open the project in CMD the run
npm cache verify
npm install
npm start
Upvotes: 3
Reputation: 426
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]",
Upvotes: 1
Reputation: 23
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.
Upvotes: 0
Reputation: 117
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.
Upvotes: 0
Reputation: 113
Before i was running this command
npm install typescript -g
after changing the command it worked perfectly.
npm install -g typescript
Upvotes: 0
Reputation: 17
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.
Upvotes: 0
Reputation: 236
You should check Connection-specific DNS Suffix when type “ipconfig” or “ifconfig” in terminal
Upvotes: 0
Reputation: 9859
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.
Upvotes: 1
Reputation: 487
Updating .npmrc
and the registry to https://
worked for me
registry=https://registry.npmjs.org/
Upvotes: 3
Reputation: 2221
Try this
Step-1) Delete package-lock.json from root folder.
Step-2) Delete node_modules folder
Step-3) run npm install command in root
Upvotes: -1
Reputation: 4089
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!!
Upvotes: 13
Reputation: 8953
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
Upvotes: -1
Reputation: 4392
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
)
Upvotes: 3
Reputation: 8008
My problem was 2 things:
What i did is:
Fixed my error!
Upvotes: 18
Reputation: 69
As a workaround, follow the below steps:
rm -rf node_modules
rm package-lock.json
npm cache clean --force
npm install --verbose
If after following the above steps still the issue exists then please provide us the output of installation command with --verbose.Upvotes: 6
Reputation: 408
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/
Upvotes: 1
Reputation: 928
Run the commands below on your project..
npm rm -rf node_modules && npm rm package-lock.json && npm rm -rf ~/.npm && npm install --update-binary --no-shrinkwrap
Upvotes: -1
Reputation: 1675
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.
Upvotes: 3
Reputation: 1251
There are several valid and helpful responses here, but I would like to add that in my case the simplest solution was:
After that everything ran smoothly.
Upvotes: 4