Quando executo o `npm install`, ele retorna com` ERR! código EINTEGRITY »(npm 5.3.0)

133

Estou recebendo esse erro durante a execução sudo npm install. No meu servidor, o npm foi instalado anteriormente. Tentei excluir o package-lock.jsonarquivo e corri npm cache clean --force, mas não funcionou.

Minha versão do npm é 5.3.0.

O erro:

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
SANITH
fonte
Consulte a Solução abaixo para evitar a causa do problema, especialmente quando a conectividade é um problema.
precisa saber é o seguinte
No meu caso, funcionou simplesmente executando o comando novamente!
kds23
1
A execução dos 2 comandos seguintes resolveu meu problema. $ rm -rf package-lock.json node_modules $ npm install
Rao

Respostas:

199

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

Isso funcionou para mim:
npm cache verify

Então eu corri novamente:
npm install -g create-react-app

E foi instalado como esperado: problema resolvido


Outras soluções mencionadas na questão do github incluem:

npm cache clean --force

OU

Excluindo pastas npm e npm-cache no Users%username%\AppData\Roaming(windows 7) e executandonpm install

OU

Atualizar o npm por via npm i -g npm

OU

Excluir package-lock.json

OU

npm cache verify

OU

npm cache clean

OU

Siga estas etapas para corrigir o problema:

  1. Encontre todos os pacotes desatualizados e atualize o tema:
    npm outdated -g
    sudo npm i -g outDatedPKG
  2. Atualize o npm para a versão mais recente com:
    sudo npm i -g npm
  3. Excluir package-lock.jsonarquivo
  4. Excluir _cacachediretório em ~/.npm: npm cache verify
  5. Sempre que receber esse erro, siga as etapas 2 e 3.
  6. Se você ainda receber o erro, limpe o cache do npm:
    npm cache clean --force

OU

  1. Inclua proxy .npmrcno ~diretório:

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

  1. Tente novamente! conexão lenta à Internet e censura podem causar esse problema feio.

OU

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

OU

npm config set package-lock false

SherylHohman
fonte
1
Obrigado! Isso foi muito útil e resolvi meu problema escolhendo algumas das opções fornecidas.
precisa saber é o seguinte
Super !! Então prazer em ajudar :-)
SherylHohman
3
Sheryl, primeiro: obrigado por dedicar um tempo para responder a isso. É claro que sua resposta foi útil para as pessoas. Posso perguntar o que cada uma dessas alternativas faz e por que algumas podem funcionar quando outras não? Obrigado!
Andrés F.
1
@AndresF. Não tenho um entendimento profundo de como funciona a parte inferior do fio, ou quando / por que alguns métodos funcionam em detrimento de outros. Em alguns casos, eles essencialmente realizam a mesma coisa, mas continuam acionando-a de uma maneira diferente. Vinculei o problema do github em que todas essas soluções foram apresentadas - é a fonte da lista compilada na minha resposta. Sugiro pesquisas sobre a parte inferior do fio e da NPM, ou verificando a questão do github vinculada, talvez entrando em contato com autores individuais, se necessário.
SherylHohman
No caso, qualquer atualização na versão do nó js na máquina local, será através desse erro.
Gnganpath
43

Exclua o arquivo package-lock.json e tente instalar

Gaurav Joshi
fonte
Obrigado por esse comentário, ele me ajudou a resolver o problema, quando eu estava implantando um site GatsbyJS no Netlify.
Sathishpaul 30/09/19
Tentei tudo acima e esta foi a solução!
Adam Boczek
24

Na verdade, o acima está relacionado à conectividade de rede ao lado do servidor. Quando tenho boa conectividade no servidor, a instalação do npm correu bem e não gerou nenhum erro

SANITH
fonte
1
Meu trabalhou depois de mudar para uma conexão VPN, por isso é definitivamente um problema de conexão
bmukorera
13

Meu problema foi duas coisas:

  1. Arquivo package-lock.json inválido
  2. A existência de npm-shrinkwrap.json junto com o arquivo package-lock.json

O que eu fiz é:

  1. Excluído o arquivo package-lock.json
  2. Exclua o arquivo npm-shrinkwrap.json
  3. Ran npm install novamente (que recriou um bom arquivo de bloqueio de pacote)

Corrigido meu erro!

Mercúrio
fonte
Eu tive esse problema ao construir no AWS Codebuild. Isso funcionou para mim. Obrigado.
Bertie
10

A questão estava de fato em package-lock.json resolvido e, após substituí-lo por uma versão funcional de outro ramo, ele funcionou.

O interessante é ver o diff:

diff

Portanto, existe realmente uma soma de verificação de integridade package-lock.jsonpara verificar se o arquivo que você está baixando não foi violado. É que, de alguma forma, a soma de verificação de integridade foi substituída na nossa package-lock.jsonpor uma SHA1 em vez de uma soma de verificação SHA-512. Não tenho ideia de como isso aconteceu.

Caso você não tenha uma versão funcional em outro ramo . Considere a mensagem

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)

Encontre o pacote pelas duas primeiras somas de verificação em package-lock.json:

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

e coloque a terceira soma de verificação em seu campo "integridade":

sha512-WXI95kpJrxw4Nnx8vVI90PuUhrQjnNgghBl5tn54rUNKZYbxv+4ACxUzPVpJEtWxKmeDwnQrzjc0C2bYmRJVKg==

Uma descrição mais detalhada está aqui .

sashoalm
fonte
onde está o arquivo package-lock.json?
Mamen 29/04
@ Mamen no diretório raiz do seu aplicativo, próximo tp package.json. O package.json lista as dependências (pacotes) de que seu aplicativo precisa para compilar / executar. Quando você executa yarn installou yarn, os pacotes listados nesse arquivo serão baixados e instalados, para que o projeto / aplicativo possa ser executado. O arquivo "lock" é uma diferença entre npm e yarn, garantindo versões e integridade do pacote.
precisa saber é o seguinte
1
A única solução que chegou perto de resolvê-lo para mim. A exclusão package-lock.jsondeve remediá-lo também. Ao menos em meu caso. Embora isso aparentemente não seja desejável. E para ser justo, devo mencionar aqui que o OP tentou excluir o arquivo, portanto, o caso em que essa resposta aborda é provavelmente um pouco diferente.
x-yuri
4

Tente o seguinte:

npm cache clean --force

Isso tem funcionado para mim.

Kolaaa
fonte
3
Isso não agrega valor às respostas que já estão aqui. O comentário mais votado já menciona npm cache clean --force, então essa resposta é lida como ruído.
Adeus StackExchange
2
Embora esse código possa responder à pergunta, fornecer um contexto adicional sobre como e / ou por que resolve o problema melhoraria o valor a longo prazo da resposta.
Donald Duck
4

Como solução alternativa, siga as etapas abaixo:

  1. Vá para o diretório do projeto
  2. Remova o diretório node_modules: rm -rf node_modules
  3. Remova o arquivo package-lock.json: rm package-lock.json
  4. Limpe o cache: npm cache clean --force
  5. Executar npm install --verbose Se, após seguir as etapas acima, o problema persistir, forneça a saída do comando de instalação com --verbose.
Vanessa Ortiz
fonte
Eu sou novo no NPM. Verbose me deu uma dica.
Andi AR
3

Existem várias respostas válidas e úteis aqui, mas gostaria de acrescentar que, no meu caso, a solução mais simples foi:

  1. Excluir package-lock.json;
  2. Remova a pasta AppData \ Local \ npm \ cache ou AppData \ Roaming \ npm \ cache;
  3. Remova a pasta node_modules.staging;
  4. Execute o npm install novamente.

Depois disso tudo correu bem.

jfajunior
fonte
2

Eu estava usando o registro npm privado e tentando instalar o módulo npm privado. O registro no registro local do npm o corrigiu (comando usado npm --add-user)

Sai Ram
fonte
2

Fiquei preso por um longo tempo e foi isso que me ajudou.

Tente o seguinte:

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

Encontrei esta resposta depois de pesquisar os problemas do GitHub !!

Raj
fonte
1

A resposta de SherylHohman resolveu o problema que eu tinha, mas somente depois que mudei minha conexão com a Internet. Inicialmente, eu estava na conexão de linha direta no trabalho e mudei para a conexão WiFi no trabalho, mas isso ainda não funcionou.

Como último recurso, mudei meu Wi-Fi para um bolso-WiFi e executar o seguinte funcionou bem:

npm cache verify

npm install -g create-react-app

create-react-app app-name

Espero que isso ajude os outros.

AJ Singh
fonte
1

Eu tive um problema muito semelhante e, no meu caso, funcionou fazendo:

npm clean

Esta é a opção nuclear, uma vez que limpa todos os pacotes do cache, conforme aqui indicado .

Sebastian D'Agostino
fonte
1

Isso ainda não foi mencionado, mas verifique se o SYSTEM TIME está correto. Se estiver muito fora de sincronia, causará um erro EINTEGRITY. Quando você está executando o npm, publique / instale.

Chad Scira
fonte
0

A atualização das .npmrcentradas dos arquivos para pacotes com e sem escopo funcionou para mim. Então acabei usando o

npm config set @scope_name:registry SCOPED_REGISTRY_URL

e

npm config set registry PUBLIC_REGISTRY_URL

Ketcomp
fonte
0

Execute os comandos abaixo em seu projeto.

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

Estou por trás do proxy da minha organização. A execução dos seguintes comandos corrigiu o problema para mim

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/
user3966432
fonte
0

Tivemos esse problema várias vezes na empresa em que trabalho. A exclusão da node_modulespasta da pasta .nvm corrigiu o problema:

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

A atualização .npmrce o registro https://funcionaram para mim

registry=https://registry.npmjs.org/
Matthew Blewitt
fonte
0

Você deve verificar o sufixo DNS específico da conexão ao digitar “ipconfig” ou “ifconfig” no terminal

Güçlü Kıvanç
fonte
0

Eu enfrentei o mesmo problema. Além disso, enquanto tentava resolver escolhendo soluções de outros desenvolvedores, enfrentei mais alguns problemas, como o listado aqui.

Angular 9 ng novo myapp dá erro O fluxo de trabalho esquemático falhou

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

Finalmente, depois de tentar limpar o cache, verificar e reinstalar o nó de diferentes versões e o npm update, o nvm e muitas outras soluções, como definir proxy e melhor conexão à Internet, ainda não consegui resolver.

O que funcionou para mim é: procurei um pouco dentro da minha pasta C: \ Users ---, encontrei os arquivos package-lock.json e .npmrc. Eu apaguei aqueles e reinstalei o angular e tentei. A instalação e desinstalação do npm de diferentes módulos começou a funcionar.

problema ao criar usando <code> ng novo aplicativo de amostra </code>

code_Jammy
fonte
0

Antes de executar este comando

npm install typescript -g

depois de alterar o comando, funcionou perfeitamente.

npm install -g typescript
Bishwajit Vikram
fonte
0

Eu enfrentei esse problema. Foi a minha conectividade de rede. Mudei de rede (de banda larga WiFi para 4G WiFi) e tentei. Funcionou.

Meu ISP de banda larga estava bloqueando todas as solicitações de HTTP. Essa pode ser a razão que acho no meu caso.

Mani Bharathy
fonte
0

todas as soluções falharam até eu verificar as configurações do roteador; foi definido como apenas IPV4 .. eu mudei e coloquei ipv4v6 e tudo está funcionando bem agora.

k_a_ r_i_s-
fonte
0

Nenhuma das respostas acima funcionou para mim. A solução para o meu problema foi alterar a maneira como a dependência de instantâneo foi consumida dentro do package.json. Use o modelo a seguir para obter a dependência de captura instantânea necessária

"dependency": "git+http://github.com/[pathtoproject].git#[branchname]",
Zach Pedigo
fonte
-1

Tente isto

  Step-1) Delete package-lock.json from root folder.
  Step-2) Delete node_modules folder
  Step-3) run npm install command in root
Jitendra Suthar
fonte