Ketika saya menjalankan `npm install`, ia kembali dengan` ERR! kode EINTEGRITY` (npm 5.3.0)


134

Saya mendapatkan kesalahan ini saat berjalan sudo npm install. Di server saya, npm telah diinstal sebelumnya. Saya sudah mencoba menghapus package-lock.jsonfile, dan menjalankannya npm cache clean --force, tetapi tidak berhasil.

Versi npm saya adalah 5.3.0.

Kesalahannya:

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

Lihat Solusi di bawah ini untuk menghindari penyebab dari masalah, terutama ketika konektivitas adalah masalah.
SherylHohman

Dalam kasus saya, ini berfungsi hanya dengan menjalankan perintah lagi!
kds23

1
Menjalankan mengikuti 2 perintah memecahkan masalah saya. $ rm -rf package-lock.json node_modules $ npm install
Rao

Jawaban:


200

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

Ini berhasil untuk saya:
npm cache verify

Kemudian saya menjalankan kembali:
npm install -g create-react-app

Dan itu dipasang seperti yang diharapkan: Masalah terselesaikan


Solusi lain yang disebutkan dalam masalah github meliputi:

npm cache clean --force

ATAU

Menghapus folder npm dan npm-cache di Users%username%\AppData\Roaming(windows 7) dan menjalankannyanpm install

ATAU

Perbarui npm melalui npm i -g npm

ATAU

Menghapus package-lock.json

ATAU

npm cache verify

ATAU

npm cache clean

ATAU

Lakukan langkah-langkah ini untuk memperbaiki masalah:

  1. Temukan semua paket usang dan perbarui tema:
    npm outdated -g
    sudo npm i -g outDatedPKG
  2. Tingkatkan npm ke versi terbaru dengan:
    sudo npm i -g npm
  3. Hapus package-lock.jsonfile.
  4. Hapus _cacachedirektori di ~/.npm: npm cache verify
  5. Setiap kali saya mendapatkan kesalahan itu, lakukan langkah 2 & 3.
  6. Jika Anda masih mendapatkan kesalahan, hapus cache npm:
    npm cache clean --force

ATAU

  1. Tambahkan proxy ke .npmrcdalam ~direktori:

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

  1. Coba lagi! koneksi internet yang lambat dan sensor dapat menyebabkan masalah buruk ini.

ATAU

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

ATAU

npm config set package-lock false


1
Terima kasih! Itu sangat membantu dan saya memecahkan masalah saya memilih beberapa opsi yang diberikan.
jfajunior

Super !! Sangat Senang Membantu :-)
SherylHohman

3
Sheryl, pertama: terima kasih telah meluangkan waktu untuk menjawab ini. Jelas jawaban Anda bermanfaat bagi orang-orang. Bolehkah saya bertanya kepada Anda apa fungsi dari masing-masing alternatif ini, dan mengapa beberapa mungkin berhasil sementara yang lain tidak? Terima kasih!
Andres F.

1
@Tokopedia Saya tidak memiliki pemahaman yang mendalam tentang bagaimana bagian bawah benang bekerja, atau kapan / mengapa beberapa metode bekerja di atas yang lain. Dalam beberapa kasus, mereka pada dasarnya mencapai hal yang sama, tetapi memicunya dengan cara yang berbeda. Saya menautkan ke masalah github di mana semua solusi ini disajikan - ini adalah sumber dari daftar yang dikompilasi dalam jawaban saya. Saya menyarankan penelitian ke bagian bawah benang dan npm, atau memeriksa masalah github yang terkait, mungkin menghubungi penulis individu jika perlu.
SherylHohman

Dalam hal, pembaruan dalam versi node js di mesin lokal, itu akan melalui kesalahan ini.
gnganpath

44

Hapus file package-lock.json dan kemudian coba instal


Terima kasih atas komentar ini, ini membantu saya menyelesaikan masalah, ketika saya menerapkan situs GatsbyJS ke Netlify.
sathishpaul

Sudah mencoba semua di atas dan ini solusinya!
Adam Boczek

ya Ini berhasil setelah menghapus package-lock.jason dan menjalankan kembali npm install
CJM

25

Sebenarnya hal di atas berkaitan dengan konektivitas jaringan di sisi server. Ketika saya memiliki konektivitas yang baik di server, pemasangan npm berjalan baik dan tidak menimbulkan kesalahan apa pun


1
Milik

13

Masalah saya adalah 2 hal:

  1. File package-lock.json yang buruk
  2. Keberadaan npm-shrinkwrap.json bersama dengan file package-lock.json

Yang saya lakukan adalah:

  1. Menghapus file package-lock.json
  2. Hapus file npm-shrinkwrap.json
  3. Jalankan npm install lagi (yang membuat ulang file kunci paket yang bagus)

Memperbaiki kesalahan saya!


Saya mengalami masalah saat membangun di AWS Codebuild. Ini berhasil untuk saya. Terima kasih.
bertie

11

Masalahnya memang ada di package-lock.json , dan setelah menggantinya dengan versi yang berfungsi dari cabang lain, masalahnya berhasil.

Yang menarik adalah melihat perbedaannya:

beda

Jadi memang ada beberapa checksum integritas di package-lock.jsonuntuk memverifikasi bahwa file yang Anda unduh belum dirusak. Hanya saja entah bagaimana checksum integritas diganti di kamipackage-lock.json dengan SHA1, bukan SHA-512 checksum. Saya tidak tahu bagaimana ini bisa terjadi.

Jika Anda tidak memiliki versi yang berfungsi di cabang lain . Pertimbangkan pesannya

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)

Temukan paket dengan dua checksum pertama di package-lock.json:

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

dan masukkan checksum ketiga ke dalam bidang "integritas":

sha512-WXI95kpJrxw4Nnx8vVI90PuUhrQjnNgghBl5tn54rUNKZYbxv+4ACxUzPVpJEtWxKmeDwnQrzjc0C2bYmRJVKg==

Penjelasan lebih rinci ada di sini .


di mana file package-lock.json?
Mamen

@Mamen di direktori root aplikasi Anda, next tp package.json. package.json mencantumkan dependensi (paket) yang dibutuhkan aplikasi Anda untuk dikompilasi / dijalankan. Saat Anda menjalankan yarn installatau yarn, paket yang tercantum dalam file itu akan diunduh dan diinstal, sehingga proyek / aplikasi dapat dijalankan. File "kunci" adalah satu perbedaan antara npm dan benang, memastikan versi paket, dan integritas.
SherylHohman

1
Satu-satunya solusi yang hampir menyelesaikannya untuk saya. Menghapus package-lock.jsonharus memperbaikinya juga. Setidaknya dalam kasus saya. Meski itu rupanya tidak diinginkan. Dan agar adil saya harus menyebutkan di sini bahwa OP mencoba menghapus file tersebut, jadi jika alamat jawaban ini mungkin agak berbeda.
x-yuri

4

Coba yang berikut ini:

npm cache clean --force

Ini berhasil untuk saya.


3
Ini tidak menambah nilai jawaban yang sudah ada di sini. Komentar yang paling banyak dipilih sudah menyebutkan npm cache clean --force, jadi jawaban ini hanya dibaca sebagai kebisingan.
Selamat tinggal StackExchange

2
Meskipun kode ini dapat menjawab pertanyaan, memberikan konteks tambahan tentang bagaimana dan / atau mengapa kode ini memecahkan masalah akan meningkatkan nilai jangka panjang jawaban.
Donald Duck

4

Sebagai solusinya, ikuti langkah-langkah di bawah ini:

  1. Buka direktori proyek
  2. Hapus direktori node_modules: rm -rf node_modules
  3. Hapus file package-lock.json: rm package-lock.json
  4. Kosongkan cache: npm cache clean --force
  5. Jalankan npm install --verbose Jika setelah mengikuti langkah-langkah di atas masih ada masalah, berikan kami output dari perintah instalasi dengan --verbose.

Saya baru mengenal npm. Verbose memberi saya beberapa petunjuk.
Andi AR

3

Ada beberapa tanggapan yang valid dan bermanfaat di sini, tetapi saya ingin menambahkan bahwa dalam kasus saya, solusi paling sederhana adalah:

  1. Hapus package-lock.json;
  2. Hapus folder AppData \ Local \ npm \ cache atau AppData \ Roaming \ npm \ cache;
  3. Hapus folder node_modules.staging;
  4. Jalankan npm install lagi.

Setelah itu semuanya berjalan lancar.


2

Saya menggunakan registri npm pribadi dan mencoba menginstal modul npm pribadi. Masuk ke npm local registry memperbaikinya (menggunakan perintah npm --add-user)


2

Saya terjebak dalam hal ini untuk waktu yang lama dan inilah yang membantu saya.

Coba ini:

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

Temukan jawaban ini setelah menggali masalah GitHub !!


1

Jawaban SherylHohman menyelesaikan masalah yang saya miliki, tetapi hanya setelah saya mengalihkan koneksi internet saya. Awalnya, saya menggunakan koneksi garis keras di tempat kerja, dan saya beralih ke koneksi WiFi di tempat kerja, tetapi itu tetap tidak berhasil.

Sebagai upaya terakhir, saya mengalihkan WiFi saya ke WiFi saku, dan menjalankan yang berikut ini bekerja dengan baik:

npm cache verify

npm install -g create-react-app

create-react-app app-name

Semoga ini bisa membantu orang lain.


1

Saya memiliki masalah yang sangat mirip, dan dalam kasus saya itu berhasil dengan melakukan:

npm clean

Ini adalah opsi inti karena ia membersihkan setiap paket dari cache seperti yang dijelaskan di sini .


1

Ini belum disebutkan tetapi pastikan bahwa WAKTU SISTEM Anda benar. Jika terlalu tidak sinkron akan menyebabkan kesalahan EINTEGRITY. Saat Anda melakukan npm publish / install.


0

Memperbarui .npmrcentri file untuk paket terbatas dan tidak tercakup berhasil untuk saya. Jadi saya akhirnya menggunakan

npm config set @scope_name:registry SCOPED_REGISTRY_URL

dan

npm config set registry PUBLIC_REGISTRY_URL


0

Jalankan perintah di bawah ini pada proyek Anda ..

npm rm -rf node_modules && npm rm package-lock.json && npm rm -rf ~/.npm && npm install --update-binary --no-shrinkwrap

0

Saya berada di belakang proxy organisasi saya, menjalankan perintah berikut memperbaiki masalah untuk saya

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/

0

Kami mengalami masalah ini beberapa kali di perusahaan tempat saya bekerja. Menghapus node_modulesfolder dari folder .nvm memperbaiki masalah:

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

0

Memperbarui .npmrcdan registri https://berfungsi untuk saya

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

0

Anda harus memeriksa Suffix DNS khusus sambungan saat mengetik "ipconfig" atau "ifconfig" di terminal


0

Saya menghadapi masalah yang sama. Ditambah ketika saya mencoba menyelesaikan dari memilih solusi dari pengembang lain, saya menghadapi beberapa masalah lagi seperti yang tercantum di sini.

Angular 9 ng myapp baru memberikan kesalahan Alur kerja Skema gagal

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

Akhirnya setelah mencoba membersihkan cache dan memverifikasi dan menginstal ulang node dari berbagai versi dan pembaruan npm, nvm dan banyak solusi lain seperti mengatur proxy dan koneksi internet yang lebih baik, saya masih tidak dapat mencapai penyelesaian.

Apa yang berhasil untuk saya adalah: Saya melihat-lihat sedikit di dalam folder C: \ Users --- saya, saya menemukan file package-lock.json dan .npmrc. Saya menghapusnya dan menginstal ulang sudut dan mencoba. npm install dan uninstall modul yang berbeda mulai bekerja.

masalah saat membuat menggunakan <code> ng aplikasi sampel baru </code>


0

Sebelum saya menjalankan perintah ini

npm install typescript -g

setelah mengubah perintah itu bekerja dengan sempurna.

npm install -g typescript

0

Saya menghadapi masalah ini. Itu adalah konektivitas jaringan saya. Saya mengubah jaringan (dari Broadband WiFi ke 4G WiFi) dan mencoba. Berhasil.

ISP broadband saya memblokir semua permintaan http. Itu mungkin alasan saya kira dalam kasus saya.


0

semua solusi gagal untuk saya sampai saya memeriksa pengaturan router; itu diatur ke hanya IPV4 .. saya mengubah dan meletakkan ipv4v6 dan semuanya bekerja dengan baik sekarang.


0

Tak satu pun dari jawaban di atas berhasil untuk saya. Solusi untuk masalah saya adalah mengubah cara konsumsi snapshot di dalam package.json. Gunakan template berikut untuk menarik dependensi snapshot yang Anda butuhkan

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

-1

Coba ini

  Step-1) Delete package-lock.json from root folder.
  Step-2) Delete node_modules folder
  Step-3) run npm install command in root
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.