Когда я запускаю `npm install`, он возвращается с` ERR! код EINTEGRITY` (npm 5.3.0)


137

Я получаю эту ошибку во время работы 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 06

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

Ответы:


203

См. Https://github.com/npm/npm/issues/16861

Это сработало для меня:
npm cache verify

Затем я повторил:
npm install -g create-react-app

И он установлен, как и ожидалось: проблема решена


Другие решения, упомянутые в проблеме с github, включают:

npm cache clean --force

ИЛИ

Удаление папок npm и npm-cache в Users%username%\AppData\Roaming(windows 7) и запускnpm install

ИЛИ

Обновить npm через 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, где были представлены все эти решения - это источник скомпилированного списка в моем ответе. Я предлагаю изучить изнанку yarn и npm или проверить ссылку на проблему github, возможно, при необходимости связаться с отдельными авторами.
SherylHohman

В случае, если любое обновление в версии node js на локальном компьютере, произойдет через эту ошибку.
gnganpath 02

47

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


Спасибо за этот комментарий, он помог мне решить проблему, когда я развертывал сайт GatsbyJS на Netlify.
sathishpaul

Пробовал все вышеперечисленное, и это было решение!
Адам Бочек

да, это сработало после удаления package-lock.jason и повторного запуска npm install
CJM

25

На самом деле вышесказанное относится к сетевому подключению на стороне сервера. Когда у меня хорошее соединение на сервере, установка 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 install (в результате был воссоздан хороший файл блокировки пакета)

Исправлена ​​моя ошибка!


У меня возникла эта проблема при сборке AWS Codebuild. Это сработало для меня. Спасибо.
Берти

11

Проблема действительно была в package-lock.json, и после замены ее рабочей версией из другой ветки она заработала.

Интересно увидеть разницу:

разница

Так что действительно есть некоторая контрольная сумма целостности, package-lock.jsonчтобы убедиться, что файл, который вы загружаете, не был подделан. Просто как-то у нас заменили контрольную сумму целостности package-lock.jsonна SHA1 вместо контрольной суммы 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

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

1
Единственное решение, которое для меня приблизилось к ее решению. Удаление также package-lock.jsonдолжно исправить это. По крайней мере, в моем случае. Хотя это явно нежелательно. И, честно говоря, я должен упомянуть здесь, что OP попытался удалить файл, поэтому случай, в котором адрес этого ответа, вероятно, несколько отличается.
x-yuri

4

Попробуйте следующее:

npm cache clean --force

Это сработало для меня.


3
Это не добавляет ценности ответам, которые уже здесь. В комментарии, получившем наибольшее количество голосов, уже упоминается npm cache clean --force, поэтому этот ответ воспринимается просто как шум.
Прощай, 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.

Я новичок в npm. 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

Ответ SherylHohman решил мою проблему, но только после того, как я переключил свое интернет-соединение. Изначально у меня было жесткое соединение на работе, и я переключился на соединение Wi-Fi на работе, но это все еще не работало.

В крайнем случае, я переключил свой Wi-Fi на карманный Wi-Fi, и следующее работало хорошо:

npm cache verify

npm install -g create-react-app

create-react-app app-name

Надеюсь, это поможет другим.


1

У меня была очень похожая проблема, и в моем случае это сработало:

npm clean

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


1

Об этом еще не упоминалось, но убедитесь, что ваше СИСТЕМНОЕ ВРЕМЯ указано правильно. Если он слишком рассинхронизирован, это вызовет ошибку EINTEGRITY. Когда вы делаете npm publish / install.


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

Я столкнулся с той же проблемой. Кроме того, пока я пытался решить проблему, выбирая решения от других разработчиков, я столкнулся с еще несколькими проблемами, подобными одной из перечисленных здесь.

Angular 9 ng new myapp выдает ошибку Рабочий процесс схемы не удался

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

Наконец, после попытки очистки кеша и проверки и переустановки узлов разных версий и обновления npm, nvm и многих других решений, таких как установка прокси-сервера и улучшение интернет-соединения, я все еще не мог прийти к решению.

Что сработало для меня: я немного просмотрел свою папку C: \ Users ---, я нашел файлы package-lock.json и .npmrc. Я удалил их, переустановил angular и попробовал. 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

Ни один из приведенных выше ответов не помог мне. Решением моей проблемы было изменение способа использования зависимости моментального снимка внутри package.json. Используйте следующий шаблон, чтобы получить нужную зависимость снимка.

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.