Коли я запускаю `npm install ', він повертається з` ERR! код EINTEGRITY` (н.п. 5.3.0)


133

Я отримую цю помилку під час запуску sudo npm install. На моєму сервері npm був встановлений раніше. Я намагався видалити package-lock.jsonфайл і побіг npm cache clean --force, але це не вийшло.

Моя версія npm становить 5.3.0.

Помилка:

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

Див. Рішення нижче, щоб усунути причину проблеми, особливо коли підключення є проблемою.
SherylHohman

У моєму випадку це спрацювало, просто запустивши команду ще раз!
kds23

1
Виконання наступних 2 команд вирішило мою проблему. $ rm -rf package-lock.json node_modules $ npm install
Рао

Відповіді:


200

Дивіться https://github.com/npm/npm/isissue/16861

Це працювало для мене:
npm cache verify

Потім я перебіг:
npm install -g create-react-app

І встановлено так, як очікувалося: проблема вирішена


Інші рішення, згадані у випуску github, включають:

npm cache clean --force

АБО

Видалення папок npm та npm-кеш у Users%username%\AppData\Roaming(Windows 7) та запущенихnpm install

АБО

Оновіть npm за допомогою via npm i -g npm

АБО

Видалити package-lock.json

АБО

npm cache verify

АБО

npm cache clean

АБО

Виконайте ці кроки, щоб усунути проблему:

  1. Знайдіть усі застарілі пакети та тему оновлення:
    npm outdated -g
    sudo npm i -g outDatedPKG
  2. Оновіть npm до останньої версії за допомогою:
    sudo npm i -g npm
  3. Видалити package-lock.jsonфайл.
  4. Видалити _cacacheкаталог у ~/.npm: npm cache verify
  5. Кожен раз, коли я отримую цю помилку, виконайте кроки 2 і 3.
  6. Якщо ви все-таки отримаєте помилку, очистіть кеш npm:
    npm cache clean --force

АБО

  1. Додайте проксі .npmrcв ~каталог:

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

  1. Спробуйте ще раз! повільне підключення до Інтернету та цензура можуть спричинити цю некрасиву проблему.

АБО

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

АБО

npm config set package-lock false


1
Дякую! Це було дуже корисно, і я вирішив свою проблему, вибравши деякі із заданих варіантів.
jfajunior

Супер !! Тож радий допомогти :-)
SherylHohman

3
Шерил, по-перше: дякую, що знайшли час, щоб відповісти на це. Зрозуміло, що ваша відповідь була корисною людям. Чи можу я запитати вас, що робить кожна з цих альтернатив, і чому деякі можуть працювати, коли інші ні? Дякую!
Андрес Ф.

1
@AndresF. У мене немає глибокого розуміння того, як працює підщепа нитки або коли / чому одні методи працюють над іншими. У деяких випадках вони по суті роблять те саме, але ініціюють це по-іншому. Я пов’язаний з проблемою github, де були представлені всі ці рішення - це джерело зібраного списку у моїй відповіді. Я пропоную дослідити нижню частину пряжі та пдм, або перевірити пов'язану з цим проблему, можливо, звернення до окремих авторів, якщо це необхідно.
Шерил Хохман

У випадку, якщо будь-яке оновлення у версії njs js на локальній машині, воно пройде через цю помилку.
gnganpath

44

Видаліть файл package-lock.json та спробуйте встановити


Дякую за цей коментар, він допоміг мені вирішити проблему, коли я розгортав сайт GatsbyJS в Netlify.
sathishpaul

Спробував усе вище, і це було рішення!
Адам Бочек

Так, це працювало після видалення пакета-lock.jason та повторного запуску npm install
CJM

24

Насправді вищезазначене пов'язане з мережевим підключенням на стороні сервера. Коли у мене гарне підключення на сервері, установка npm вийшла з ладу і не кинула жодної помилки


1
Шахта працювала після переходу на vpn-з'єднання, тому це, безумовно, проблема з підключенням
bmukorera

13

Моєю проблемою було 2 речі:

  1. Неправильний файл package-lock.json
  2. Наявність npm-shrinkwrap.json разом з файлом package-lock.json

Що я зробив:

  1. Видалено файл package-lock.json
  2. Видаліть файл npm-shrinkwrap.json
  3. Повторно встановити npm встановити (що відтворив хороший файл із блокуванням пакета)

Виправлена ​​моя помилка!


У мене була ця проблема зі створенням AWS Codebuild. Це працювало для мене. Дякую.
Берті

10

Випуск справді був package-lock.json, і після заміни його робочою версією з іншої галузі він працював.

Що цікаво - бачити різницю:

розл

Отже, дійсно є якась контрольна сума цілісності у, package-lock.jsonщоб переконатися, що файл, який ви завантажуєте, не був підроблений. Просто так якось контрольну суму цілісності замінили на нашу package-lock.jsonSHA1 замість контрольної суми SHA-512. Я поняття не маю, як це сталося.

Якщо у вас немає робочої версії в іншій галузі . Розгляньте повідомлення

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)

Знайдіть пакунок за першими двома контрольними сумами в package-lock.json:

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

і покласти третю контрольну суму в поле "цілісність":

sha512-WXI95kpJrxw4Nnx8vVI90PuUhrQjnNgghBl5tn54rUNKZYbxv+4ACxUzPVpJEtWxKmeDwnQrzjc0C2bYmRJVKg==

Більш детальний опис тут .


де файл package-lock.json?
Маменю

@Mamen у кореневому каталозі програми, наступного tp package.json. package.json перераховує залежності (пакети), які потрібно вашому додатку для компіляції / запуску. Коли ти біжишyarn install або yarnпакунки, перелічені у цьому файлі, будуть завантажені та встановлені, тому проект / додаток можна запустити. Файл "блокування" - це одна різниця між npm та пряжею, що забезпечує версії пакету та цілісність.
SherylHohman

1
Єдине рішення, яке наблизилось до її вирішення. Видалення також package-lock.jsonмає виправити це. Принаймні в моєму випадку. Хоча це, мабуть, не бажано. Справедливості я повинен зазначити, що ОП намагався видалити файл, тому випадок, коли ця відповідь відповідає, мабуть, дещо іншою.
x-yuri

4

Спробуйте наступне:

npm cache clean --force

Це спрацювало на мене.


3
Це не додає значення відповідям, які вже є тут. Вже згадується найбільш високооцінений коментар npm cache clean --force, тому ця відповідь просто звучить як шум.
Goodbye StackExchange

2
Хоча цей код може відповісти на питання, надаючи додатковий контекст щодо того, як та / або чому він вирішує проблему, покращить довгострокове значення відповіді.
Дональд Дак

4

Щоб вирішити спосіб, виконайте наступні кроки:

  1. Перейдіть до каталогу проектів
  2. Видаліть каталог node_modules: rm -rf node_modules
  3. Видаліть файл package-lock.json: rm package-lock.json
  4. Очистити кеш: npm cache clean --force
  5. Запустити npm install --verbose Якщо після виконання вищезазначених кроків проблема все ще існує, то надайте нам команду --verbose.

Я новачок у нпм. Вербоза дав мені деяку підказку.
Andi AR

3

Тут є кілька дійсних і корисних відповідей, але я хотів би додати, що в моєму випадку найпростішим рішенням було:

  1. Видалити package-lock.json;
  2. Видаліть папку AppData \ Local \ npm \ cache або AppData \ Roaming \ npm \ cache;
  3. Видалити папку node_modules.staging;
  4. Запустіть npm install знову.

Після цього все пройшло гладко.


2

Я використовував приватний реєстр npm і намагався встановити приватний модуль npm. Реєстрація в локальному реєстрі npm виправлена ​​(використовується команда npm --add-user)


2

Я довго тримався на цьому і саме це мені допомогло.

Спробуйте це:

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

Знайшов цю відповідь після розкопок у питаннях GitHub !!


1

Відповідь Шерил Хохман вирішила питання, яке у мене виникло, але лише після того, як я переключився на інтернет-з'єднання. По суті, я працював на жорсткій лінії зв'язку на роботі, і я перейшов на WiFi-з'єднання на роботі, але це все ще не працювало.

В крайньому випадку, я переключив свій WiFi на кишеньковий Wi-Fi, і працює наступне:

npm cache verify

npm install -g create-react-app

create-react-app app-name

Сподіваюся, що це допомагає іншим.


1

У мене була дуже схожа проблема, і в моєму випадку це спрацювало:

npm clean

Це ядерний варіант, оскільки він очищає кожен пакет із кешу, як розгорнувся тут .


1

Про це ще не згадувалося, але переконайтесь, що час СИСТЕМИ правильний. Якщо вона занадто не синхронізована, це призведе до помилки EINTEGRITY. Коли ви робите npm публікувати / встановлювати.


0

.npmrcДля мене працювало оновлення записів у файлах для масштабованих та необмежених пакетів. Тому я в кінцевому підсумку використовував

npm config set @scope_name:registry SCOPED_REGISTRY_URL

і

npm config set registry PUBLIC_REGISTRY_URL


0

Виконайте команди нижче у своєму проекті ..

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

0

Я за проксі сервісу моєї організації, виконуючи наступні команди, виправили проблему

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

У нас ця проблема була кілька разів у компанії, в якій я працюю. Видалення node_modulesпапки з папки .nvm вирішило проблему:

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


0

Ви повинні перевірити специфічний для підключення DNS-суфікс, коли введіть у терміналі "ipconfig" або "ifconfig"


0

Я зіткнувся з тим же питанням. Плюс, поки я намагався вирішити питання щодо вибору рішень від інших розробників, я зіткнувся з ще декількома проблемами, на зразок перерахованих тут.

Кутовий 9 нг нового myapp дає помилку. Схематичний робочий процес не вдався

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

Нарешті, спробувавши очистити кеш і перевірити та перевстановити вузол різних версій та оновлення npm, nvm та багато інших рішень, таких як встановити проксі та покращити зв’язок з Інтернетом, я все одно не зміг досягти рішення.

Що для мене спрацювало: я трохи переглянув свою папку C: \ Users ---, знайшов файли package-lock.json та .npmrc. Я видалив їх і перевстановив кутовий і спробував. npm встановлення та видалення різних модулів почали працювати.

проблему під час створення за допомогою <code> ng new sample-app </code>


0

До того, як я виконував цю команду

npm install typescript -g

після зміни команди він працював чудово.

npm install -g typescript

0

Я зіткнувся з цим питанням. Це був мій підключення до мережі. Я змінив мережу (з широкосмугового WiFi на 4G WiFi) і спробував. Це спрацювало.

Мій широкосмуговий провайдер блокував усі запити http. Це може бути причиною, на яку я думаю, в моєму випадку.


0

всі рішення не вдалися до мене, поки я не перевірив настройки маршрутизатора; він був встановлений тільки на IPV4 .. Я змінив і поставив ipv4v6 і ​​все працює нормально.


0

Жодна з наведених відповідей не працювала для мене. Рішення моєї проблеми полягало в тому, щоб змінити спосіб споживання залежності знімка всередині пакета.json. За допомогою наступного шаблону виберіть необхідну залежність знімка

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.