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

49

Я получаю эту ошибку при запуске 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
  • 0
    См решения ниже , чтобы обойти причину проблемы, особенно когда связь является проблемой.
  • 0
    В моем случае это сработало, просто запустив команду снова!
Теги:
npm

17 ответов

8
Лучший ответ

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

  • 0
    Мой работал после переключения на соединение vpn, так что это определенно проблема с подключением
56

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

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

Затем я перезапустил:
npm install -g create-react-app

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


Некоторые другие упомянутые решения:

npm cache clean --force

ИЛИ ЖЕ

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

ИЛИ ЖЕ

Обновите npm с помощью npm я -g npm

ИЛИ ЖЕ

Удалить package-lock.json

ИЛИ ЖЕ

npm cache verify

ИЛИ ЖЕ

npm cache clean

ИЛИ ЖЕ

Выполните эти шаги, чтобы решить проблему:

  1. Найти все устаревшие пакеты и обновить тему:
    npm outdated -g
    sudo npm я -g outDatedPKG
  2. Обновите npm до последней версии с помощью:
    sudo npm я -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
    Спасибо! Это было очень полезно, и я решил свою проблему, выбрав некоторые из предложенных вариантов.
  • 0
    Супер !! Так что рад помочь :-)
Показать ещё 4 комментария
15

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

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

Моя проблема была 2 вещи:

  1. Плохой файл package-lock.json
  2. Существование npm-shrinkwrap.json вместе с файлом package-lock.json

Что я сделал:

  1. Удален файл package-lock.json
  2. Удалите файл npm-shrinkwrap.json
  3. Ran npm снова установить (который воссоздал хороший файл блокировки пакетов)

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

  • 0
    У меня была эта проблема при сборке AWS Codebuild. Это сработало для меня. Благодарю.
5

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

npm cache clean --force

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

  • 3
    Это не добавляет никакой ценности к ответам, которые уже здесь. В комментарии с наибольшим количеством голосов уже упоминается npm cache clean --force , поэтому этот ответ читается просто как шум.
  • 2
    Хотя этот код может ответить на вопрос, предоставление дополнительного контекста относительно того, как и / или почему он решает проблему, улучшит долгосрочную ценность ответа.
3

В качестве обходного пути выполните следующие шаги:

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

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

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

Изображение 3960

Таким образом, в пакете lock.json действительно есть контрольная сумма целостности, чтобы убедиться, что файл, который вы загружаете, не был подделан. Это просто так, что контрольная сумма целостности была заменена в нашем пакете lock.json с SHA1 вместо контрольной суммы SHA-512. Я понятия не имею, как это произошло.

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

Здесь есть несколько действительных и полезных ответов, но я хотел бы добавить, что в моем случае самым простым решением было:

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

После этого все прошло гладко.

  • 1
    приятно .... у меня step2 работал
1

Я застрял в этом надолго, и это то, что мне помогло.

Попробуй это:

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

Нашел этот ответ после копания в проблемах GitHub !!

1

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

npm clean

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

0

Есть несколько решений этой проблемы. Я сталкивался с этим много раз, и всегда мне помогали разные вещи.

A. Сначала попробуйте очистить кеш: очистка кеша npm cache clean --force затем npm install

Б. Во-вторых, вы можете попробовать npm install --update-binary

C. Третий вариант - попробовать A и удалить папку node_modules, а затем npm install

D. Четвертый вариант заключается в удалении nodejs, перезагрузке и переустановке, а затем попробуйте npm install

E. Последним из моих вариантов, который работал для меня, было удаление папок npm и npm-cache в Users%username%\AppData\Roaming и запуск npm install

Вы можете попробовать и другие комбинации, обычно лучше всегда делать A и хотя бы очистить кеш или удалить папку node_modules.

0

У нас была эта проблема несколько раз в компании, в которой я работаю. При удалении папки node_modules из папки.nvm исправлена проблема:

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

Я использовал частный реестр npm и пытался установить частный модуль npm. Запись в локальный реестр npm исправлена (используется команда npm --add-user)

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

Выполните приведенные ниже команды в своем проекте.

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

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

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

npm cache verify

npm install -g create-react-app

create-react-app app-name

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

0

Для .npmrc обновление .npmrc файлов .npmrc для пакетов с областью видимости и без ограничений. Поэтому я закончил использование

npm config set @scope_name:registry SCOPED_REGISTRY_URL

а также

npm config set registry PUBLIC_REGISTRY_URL

Ещё вопросы

Сообщество Overcoder
Наверх
Меню