A instalação do Npm não pode encontrar o módulo 'sempre'

196

Não consigo usar npm installo prompt de comando no NodeJS. Estou recebendo esses erros ao executar npm install:

module.js:339
    throw err;
    ^
Error: Cannot find module 'semver'
    at Function.Module._resolveFilename (module.js:337:15)
    at Function.Module._load (module.js:287:25)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)
    at Object.<anonymous> (C:\Users\admin\AppData\Roaming\npm\node_modules\npm\l
ib\config\defaults.js:6:14)
    at Module._compile (module.js:435:26)
    at Object.Module._extensions..js (module.js:442:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:311:12)
    at Module.require (module.js:366:17)
user2447562
fonte
4
Eu tive o mesmo problema Alternativamente, você pode usar fios, em vez de npm
Wojciech Maślanka
1
Você está usando o yarn para instalar o package.json?
anandharshan
1
Basta reinstalar o npm
Nuno Ferro

Respostas:

401

Eu tive o mesmo erro. npm uninstall npm -g, rm -rf node_modulesnão me ajudou, porque quando tentei estava conseguindo Error: Cannot find module 'semver'. Mas resolvo meu problema com estas etapas (isso excluirá outros módulos globais que você pode estar usando):

  • sudo rm -rf /usr/local/lib/node_modules
  • sudo rm -rf ~/.npm
  • brew uninstall --force node
  • brew install node

Espero que isso ajude aqueles que estão tendo um problema semelhante.

artiebits
fonte
3
Utilizado em duas máquinas diferentes executando o El Capitan, funcionou nos dois casos.
Kamikaze Rusher
7
Use brew uninstall --force nodepara remover todas as versões
deleze
5
basta instalar o npm novamente. curl -0 -L https://npmjs.org/install.sh | sudo shdepois de remover a pasta npm
Baryon Lee
17
Se o Yarn já estiver instalado, brew uninstall --ignore-dependencies nodefuncionará para mim onde brew uninstall --force nodenão.
precisa saber é o seguinte
13
A culpa é minha por colar comandos às cegas, mas sudo rm -rf /usr/local/lib/node_modulesme levou a perder módulos globais que eu uso, como gulp e selenium server. Seja cansado deste
AmmarCSE
84

Estou enfrentando o mesmo problema aqui.

Se isso ocorrer logo após a execução, brew install yarntente executar yarn global add npme pronto!

Ashoor
fonte
2
Essa solução funcionou muito bem para mim e é infinitamente mais simples que as alternativas aqui. Acho que o fio pode alterar o NPM se a instalação receber um erro de permissão / acesso durante a atualização / instalação.
Slbox 30/08/19
52

No MS Windows, a solução é remover %APPDATA%\npme reinstalarnode

Gangadhar
fonte
Eu gostaria de poder duplicar esse voto no Windows. Há um problema: o diretório AppData estava oculto por padrão, então não achei que ele estivesse realmente instalado neste local.
Ringo
7
No windows apenas reparar há necessidade de reinstalar
MotKohn
2
@MotKohn Repaire what? Uma perna? um osso? um carro? "reparar" o que ?!
samayo 11/09/17
2
@samayo No Windows em que você instala, existe uma opção de reparo. Desculpe, este foi um comentário contextual.
MotKohn
2
Essa abordagem também funcionou para mim no meu laptop Windows 8.1 Enterprise de 64 bits. Eu tive que excluir as pastas "npm" e "npm-cache", seguidas por uma desinstalação e uma nova instalação do nó.
Eddie
46

Eu tive isso também, depois de correr brew install yarnontem. Pelo menos, estava tudo bem até então.

Eu corri rm -rf node_modulese tentei reinstalar, mas nenhum npmcomando estava funcionando.

No final, dei o passo bastante simples de reinstalar o Node por meio do instalador oficial do Node para Mac OS X.

https://nodejs.org/en/download/

Tudo está bem agora. Acabei de voltar ao diretório, executei npm installe pronto.

raffjones
fonte
npm installfez isso por mim. Eu estava instalando todas as dependências uma por uma, mas as npm installfiz todas de uma vez. Obrigado.
tazboy
3
Eu também tive isso ocorrendo comigo depois de umbrew install yarn
Walter Martin Vargas-Pena
1
A reinstalação simples do node.js do instalador oficial do osx ajudou. obrigado!
Roman
aconteceu comigo depois brew install yarntambém !! o que diabos, fios
movac 08/01
23

No Arch Linux, o que fez o truque para mim foi:

sudo pacman -Rs npm
sudo pacman -S npm
Telmo Trooper
fonte
1
Eu tive que usar sudo pacman -Rddpara remover ignorando as dependências, mas isso não resolveu o problema para mim. A instalação de semver a partir dos pacotes arch na resposta de Mathias Braun fez.
Pierre-Alexis Ciavaldini
15

Tendo acabado de encontrar isso no Arch Linux 4.13.3, resolvi o problema simplesmente reinstalando semver:

pacman -S semver
Matthias Braun
fonte
8

Na verdade, está tomando a referência de módulos armazenados anteriormente.

Solução: exclua a pasta npm-cache / npm no diretório de instalação do nodejs. No Windows, está em C: / Usuário / Nome de usuário / Appdata / Roaming / npm (ou npm_cache). e tente instalar novamente.

A mesma coisa a fazer em qualquer sistema operacional.

Shubham Jaiswal
fonte
É isso aí. Eu desinstalei o nó. Em seguida, excluiu ambos npme npm_cachede /Appdata/Roaming. Em seguida, instale o nó novamente. Parece que o cache deve ser responsabilizado por lá.
Saulius
7

No meu caso no macOS (10.13.6), quando executei o seguinte comando

npm install -g react-native-cli

Eu recebi esse erro

Error: Cannot find module 'semver'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
    at Function.Module._load (internal/modules/cjs/loader.js:562:25)
    at Module.require (internal/modules/cjs/loader.js:690:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at Object.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/unsupported.js:2:14)
    at Module._compile (internal/modules/cjs/loader.js:776:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)

O erro foi resolvido após a execução do comando

yarn global add npm

proposto por @Ashoor

zeeawan
fonte
5

Para mim, isso aconteceu depois que eu instalei o fio globalmente. Para resolver esse problema, instale o npm usando yarn e done.

yarn global add npm
the_haystacker
fonte
4

No Windows, baixar o MSI do Node novamente e fazer um 'Reparo' funcionou para mim.

Sornakumar
fonte
2

Eu tive o mesmo problema, mas foi causado por uma falha package-lock.json arquivo .

A exclusão package-lock.jsone a execução npm installnovamente corrigiram isso para mim.

Wireblue
fonte
2

Enfrentei esse problema quando executei npm installusando uma versão inferior do nó. Depois, quando atualizei para a versão mais recente do nó e executeigulp , ele mostrou esse erro.

Para resolver, o node_modules foi excluído e executado novamente npm install. Então gulpcorreu bem.

cedric
fonte
1

Apenas remova a pasta / node_modules e tente novamente. ;)

Você pode usar npm rmpara removê-lo.

Você também pode verificar esse problema no GitHub. Para ser mais específico sobre unnistal, tente seguir o seguinte :

Desinstalando

Tão triste ver você ir.

sudo npm uninstall npm -gOu, se isso falhar,

sudo make uninstall Mais desinstalação severa

Geralmente, as instruções acima são suficientes. Isso removerá o npm, mas deixará para trás tudo o que você instalou.

Se você deseja remover todos os pacotes que você instalou, use o comando npm ls para localizá-los e, em seguida, npm rm para removê-los.

Para remover o cruft deixado para trás pelo npm 0.x, você pode usar o arquivo de script clean-old.sh incluído. Você pode executá-lo convenientemente assim:

npm explore scripts npm -g - sh / clean-old.sh O npm usa dois arquivos de configuração, um para configurações por usuário e outro para configurações globais (todos os usuários). Você pode visualizá-los fazendo:

npm config obtém o padrão userconfig # para ~ / .npmrc npm config obtém o padrão globalconfig # para / usr / local / etc / npmrc A desinstalação do npm não remove os arquivos de configuração por padrão. Você deve removê-los manualmente se quiser que eles se foram. Observe que isso significa que futuras instalações do npm não lembrarão das configurações que você escolheu.

Rodmentou
fonte
Atualizei minha resposta. Tente agora. Se não funcionar, teste algo para mim. Copie o package.json para outra pasta e tente usar o npm install.
Rodmentou
1
Você pode colar seu package.json, por favor?
Rodmentou
{"name": "workspace", "version": "0.0.0", "private": true, "scripts": {"start": "node ./bin/www"}, "dependencies": {" analisador de corpo ":" ~ 1.13.2 "," bson ":" ^ 0.2.22 "," analisador de cookie ":" ~ 1.3.5 "," depuração ":" ~ 2.2.0 "," express " : "~ 4.13.1", "hbs": "~ 3.1.0", "monge": "^ 1.0.1", "morgan": "~ 1.6.1", "serve-favicon": "~ 2.3 .0 "}," engines ": {" node ":" 4.2.2 "}}
user2447562
Você tentou executar o npm install com o seu package.json em outra pasta?
Rodmentou
Eu tenho que desinstalar o node.js, depois de instalar o node.js .... eu tenho que criar um exemplo de aplicação usando mean.that tempo que eu tenho que instalar o comando npm intall, mas estou recebendo o mesmo erro ... por favor, dê uma solução para Eu ....
user2447562
1

Eu finalmente descobri isso! Sim, você precisa desinstalar / excluir todos os arquivos e reinstalar. MAS ALGUNS DOS CAMINHOS DE ARQUIVO SÃO MUITO LONGE PARA EXCLUIR DURANTE O PROCESSO DESINSTALAR. Os caminhos do arquivo são tão longos no Node que talvez não possam ser excluídos. Você precisa renomear os caminhos do arquivo.

Após desinstalar o Node, use o Prompt de Comando, navegue até ... \ Appdata \ roaming \ (use o caminho da mensagem de erro). Tente excluir a pasta com del npm. Se não permitir excluir uma pasta, comece a renomear as pastas no caminho do arquivo na próxima mensagem de erro para "a" ou algo curto. Pode ser necessário fazer isso para várias pastas ao longo do caminho. Então você deve poder excluir! Em seguida, reinstale o nó e ele deve funcionar.

O Windhover
fonte
0

No meu caso, basta executar novamente brew install yarno problema.

jack4it
fonte
0

Eu enfrentei o mesmo problema depois que o brew instala fios no meu MacOs Sierra 10.12.6. (E a primeira tentativa de instalação ocorre após a atualização do brew com a mensagem "O Homebrew deve ser executado no Ruby 2.3! Você está executando o 2.0.0. (RuntimeError)".

Então, eu uso o n manager para reinstalar o npm.

  • mude para outra versão do nó (no meu caso para 8.0) pelo comando "n" com parâmetros vazios
  • ou instale novo por "n xxx" onde xxx o número da versão do nó (eu preciso do 6.9.1)
  • exclua a versão de trabalho por "n rm xxx" onde xxx o número da versão do nó. use sudo se necessário
  • instale a versão de trabalho por "n xxx", em que xxx o número da versão do nó. use sudo se necessário
  • alterne para a versão de trabalho do nó. (veja o primeiro passo para referência)

Eu acho que o problema pode ser causado porque o nó foi instalado no sudo, por exemplo.

Maior
fonte
0

Para usuários de Mac, tentei instalar várias versões de novos nós e desinstalar versões diferentes. Isso não consertou. Você precisa eliminar completamente todas as suas instalações primeiro. Siga estas instruções ... Como desinstalar completamente o Node.js e reinstalar do início (Mac OS X) .

Em seguida, faça o download da versão mais recente do nó.

Michael
fonte
0

Eu tive o mesmo problema ao instalar no AWS Linux. Eu tive que instalá-lo comsudo . Então, para contornar isso, segui a etapa 3 deste artigo (certifique-se de obter a versão mais recente do nó)

https://www.hostingadvice.com/how-to/update-node-js-latest-version/

wget https://nodejs.org/dist/vx.x.x/node-vx.x.x-linux-x64.tar.xz
tar -C /home/aUser/node --strip-components 1 -xJf node-vx.x.x-linux.x64.tar.xz

Mas o instalou no diretório inicial do usuário /home/aUser/node. Em seguida, adicionei esse caminho ao meu caminho.

export PATH=/home/aUser/node/bin:$PATH

Depois disso, fui capaz de fazer um npm installsem problemas.

Jerinaw
fonte
0

Eu enfrentei esses problemas ao executar o projeto na versão superior do cli. Para resolver esse problema, basta comentar o módulo @ angular-devkit / build-angular e, novamente, é necessário reinstalá-lo através

npm install @ angular-devkit / build-angular --save

sachin
fonte
0

Apenas verifique se semverestá instalado:npm install -g semver

Javarome
fonte
1
O npm não está funcionando, portanto, você não pode instalar o semver através do npm. A melhor solução é usar fio para instalar NPM ou faltando pacotes
NFpeter
@ NFpeter Eu tive exatamente o mesmo problema que o indicado na pergunta e o corrigi dessa maneira, então o npm funcionou (pelo menos no meu caso).
Javarome 8/08/19
0

Para mim, isso aconteceu durante a atualização para o gulp 4 do gulp 3 no meu projeto. Então, quando eu executo o comando "gulp watch", ele me lança o mesmo erro.

Provavelmente é devido à incompatibilidade de versão em comparação com o meu gulp instalado globalmente.

Portanto, a atualização do gulp com a bandeira global "-g" ajudaria, ou então eu segui isso abaixo

No entanto, usei "./node_modules/.bin/gulp watch" no meu projeto. Isso garante que todas as dependências necessárias para o gulp sejam obtidas apenas de node_modules.

myDoggyWritesCode
fonte
0

Conforme observado por anônimo (?) No DeveloperReference.com, as etapas abaixo resolveram o "não é possível encontrar o módulo 'semver'" para mim ao executar o npm -install:

* "Eu segui estas etapas e resolvi meu problema desinstalando o Node.js

  1. Remova o conteúdo das seguintes pastas
    • C: \ Usuários \ {nome de usuário} \ AppData \ Roaming \ npm-cache
    • C: \ Usuários \ {nome de usuário \ \ AppData \ Roaming \ npm
  2. C: \ Arquivos de Programas \ nodejs Em seguida, instale novamente o Node a partir de https://nodejs.org/en/ "*

https://html.developreference.com/article/12253101/Cannot+find+module+%27semver%27+When+installing+Npm

Mosca Pt
fonte
-1

Basta verificar seus scripts de pré-instalação, se você tiver um. Às vezes, restringir as versões nodeenpm é necessário executar um projeto.

Se for esse o caso, você precisará instalar semvermanualmente vianpm install -g semver

Mr94
fonte
-2

Corri para o mesmo problema e o corrigi atualizando minha versão do Node

tim
fonte