L'installazione di Npm non riesce a trovare il modulo 'semver'


196

Non riesco a usare npm installil prompt dei comandi in NodeJS. Ricevo questi errori durante l'esecuzione 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)

4
Ho avuto lo stesso problema In alternativa, puoi usare il filato, invece di npm
Wojciech Maślanka,

1
Stai usando il filo per installare package.json?
Anandharshan,

1
Basta reinstallare npm
Nuno Ferro il

Risposte:


401

Ho avuto lo stesso errore. npm uninstall npm -g, rm -rf node_modulesnon mi ha aiutato, perché quando ho provato stavo ottenendo Error: Cannot find module 'semver'. Ma risolvo il mio problema con questi passaggi (questo eliminerà altri moduli globali che potresti utilizzare):

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

Spero che questo possa aiutare coloro che stanno riscontrando un problema simile.


3
Usato su due macchine diverse con El Capitan, funzionava in entrambi i casi.
Kamikaze Rusher

7
Utilizzare brew uninstall --force nodeper rimuovere tutte le versioni
deleze

5
basta installare nuovamente npm. curl -0 -L https://npmjs.org/install.sh | sudo shdopo aver rimosso la cartella npm
Baryon Lee

17
Se Yarn è già installato, brew uninstall --ignore-dependencies nodefunziona per me dove brew uninstall --force nodeno.
Maxime Lafarie,

13
È colpa mia per aver incollato ciecamente i comandi, ma sudo rm -rf /usr/local/lib/node_modulesmi ha fatto perdere moduli globali che uso come gulp e server selenio. Sii stanco di questo
AmmarCSE,

84

Sto affrontando lo stesso problema qui.

Se questo si verifica subito dopo l'esecuzione, brew install yarnprovare a correre yarn global add npme voilà - risolto!


2
Questa soluzione ha funzionato alla grande per me ed è infinitamente più semplice delle alternative qui. Penso che il filo possa rovesciare npm se l'installazione ottiene un errore di autorizzazione / accesso durante l'aggiornamento / l'installazione.
Slbox

52

Su MS Windows, la soluzione è rimuovere %APPDATA%\npme reinstallarenode


Vorrei poter raddoppiare questo voto per Windows. C'è un gotcha: la directory AppData era nascosta per impostazione predefinita, quindi non pensavo che fosse effettivamente installata in questa posizione.
Ringo,

7
Su Windows basta riparare, non è necessario reinstallare
MotKohn,

2
@MotKohn Repaire cosa? Una gamba? un osso? un'automobile? "repaire" cosa ?!
Samayo,

2
@samayo Su Windows in cui è installato è disponibile un'opzione di riparazione. Mi dispiace, questo è stato un commento contestuale.
MotKohn,

2
Questo approccio ha funzionato anche per me sul mio laptop Windows 8.1 Enterprise a 64 bit. Ho dovuto eliminare sia le cartelle "npm" che le cartelle "npm-cache", seguite da una disinstallazione e una nuova installazione del nodo.
Eddie,

46

Ho avuto anche questo, dopo aver corso brew install yarnieri. Almeno, tutto andava bene fino ad allora.

Ho corso rm -rf node_modulese provato a reinstallare, ma nessun npmcomando funzionava.

Alla fine ho fatto il passaggio piuttosto semplice di reinstallare Node tramite il programma di installazione ufficiale di Node per Mac OS X.

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

Adesso va tutto bene. Sono appena tornato alla directory, eseguito npm installe ha fatto il trucco.


npm installfatto per me. Stavo installando tutte le dipendenze una per una, ma le npm installho fatte tutte in una volta. Grazie.
Tazboy,

3
Ho anche avuto questo episodio dopo unbrew install yarn
Walter Martin Vargas-Pena il

1
la semplice reinstallazione di node.js dall'installer osx ufficiale è stata di aiuto. Grazie!
Roman

è successo anche a me dopo brew install yarn!! che diamine, filo
movac

23

Su Arch Linux il trucco per me era:

sudo pacman -Rs npm
sudo pacman -S npm

1
Ho dovuto usare sudo pacman -Rddper rimuovere ignorando le dipendenze, ma non ha risolto il problema per me. L'installazione di semver dai pacchetti arch nella risposta di Mathias Braun è avvenuta.
Pierre-Alexis Ciavaldini,

15

Dopo averlo riscontrato su Arch Linux 4.13.3, ho risolto il problema semplicemente reinstallando semver:

pacman -S semver

8

In realtà, sta prendendo il riferimento di moduli precedentemente memorizzati.

Soluzione: eliminare la cartella npm-cache / npm nella directory di installazione di nodejs. In Windows, è in C: / Utente / Nome utente / Appdata / Roaming / npm (o npm_cache). e prova a installarlo di nuovo.

Stessa cosa da fare in qualsiasi sistema operativo.


Questo è tutto. Ho disinstallato il nodo. Quindi eliminato sia npme npm_cacheda /Appdata/Roaming. Quindi di nuovo il nodo installato. Sembra che la cache sia incolpata lì.
Saulius il

7

Nel mio caso su macOS (10.13.6), quando ho eseguito il seguente comando

npm install -g react-native-cli

Ho ricevuto questo errore

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)

L'errore è stato risolto dopo aver eseguito il comando

yarn global add npm

proposto da @Ashoor


5

Per me, questo è successo dopo aver installato il filo a livello globale. Per risolvere questo problema, installa npm usando filato e fatto.

yarn global add npm


2

Ho avuto lo stesso problema ma è stato causato da un package-lock.jsonfile rotto .

L'eliminazione package-lock.jsone la successiva esecuzione npm installhanno risolto il problema per me.


2

Di fronte a questo problema quando ho eseguito npm installutilizzando una versione inferiore del nodo. Successivamente, quando ho eseguito l'aggiornamento all'ultima versione del nodo ed eseguito gulp, ha mostrato questo errore.

Per risolvere, eliminato node_modules e rieseguito npm install. Quindi ha gulpfunzionato bene.


1

Basta rimuovere la cartella / node_modules e riprovare. ;)

Puoi usarlo npm rmper rimuoverlo.

Puoi anche controllare questo problema su GitHub. Per essere più specifici sull'innomale, prova a seguire questo :

Disinstallare

Così triste vederti andare via.

sudo npm uninstall npm -gOppure, se fallisce,

sudo make uninstall Disinstallazione più grave

Di solito, le istruzioni sopra sono sufficienti. Ciò rimuoverà npm, ma lascerà dietro tutto ciò che hai installato.

Se si desidera rimuovere tutti i pacchetti installati, è possibile utilizzare il comando npm ls per trovarli, quindi npm rm per rimuoverli.

Per rimuovere cruft lasciato da npm 0.x, è possibile utilizzare il file di script clean-old.sh incluso. Puoi eseguirlo comodamente in questo modo:

npm explore npm -g - sh script / clean-old.sh npm usa due file di configurazione, uno per le configurazioni per utente e un altro per le configurazioni globali (tutti gli utenti). Puoi visualizzarli facendo:

npm config get userconfig # default su ~ / .npmrc npm config get globalconfig # default su / usr / local / etc / npmrc La disinstallazione di npm non rimuove i file di configurazione per impostazione predefinita. Devi rimuoverli manualmente se vuoi che scompaiano. Nota che ciò significa che le future installazioni di npm non memorizzeranno le impostazioni che hai scelto.


Aggiornato la mia risposta. Provalo ora. Se non funziona, prova qualcosa per me. Copia package.json in un'altra cartella e prova a utilizzare npm install.
Rodmentou,

1
Puoi incollare il tuo package.json, per favore?
Rodmentou,

{"name": "workspace", "version": "0.0.0", "private": true, "script": {"start": "node ./bin/www"}, "dependencies": {" body-parser ":" ~ 1.13.2 "," bson ":" ^ 0.2.22 "," cookie-parser ":" ~ 1.3.5 "," debug ":" ~ 2.2.0 "," express " : "~ 4.13.1", "hbs": "~ 3.1.0", "monk": "^ 1.0.1", "morgan": "~ 1.6.1", "serve-favicon": "~ 2.3 .0 "}," engine ": {" node ":" 4.2.2 "}}
user2447562

Hai provato a eseguire npm install con package.json in un'altra cartella?
Rodmentou,

devo disinstallare su node.js, dopo aver installato node.js .... devo creare sampleapplication usando mean.the volta devo installare il comando npm intall, ma sto ottenendo lo stesso errore ... per favore, date una soluzione a io ....
user2447562

1

Finalmente l'ho capito! Sì, devi disinstallare / eliminare tutti i file e reinstallare. MA ALCUNI DEI PERCORSI DEI FILE SONO TROPPO LUNGHI PER ELIMINARE DURANTE IL PROCESSO DI DISINSTALLAZIONE. I percorsi dei file sono così lunghi in Nodo che potrebbero non essere in grado di essere eliminati. Devi rinominare i percorsi dei file.

Dopo aver disinstallato il nodo, utilizzare il prompt dei comandi, accedere a ... \ Appdata \ roaming \ (utilizzare il percorso dal messaggio di errore). Prova a eliminare la cartella con del npm. Quindi, se non ti consente di eliminare una cartella, inizia a rinominare le cartelle nel percorso del file nel messaggio di errore successivo in "a" o qualcosa di breve. Potrebbe essere necessario eseguire questa operazione per più cartelle lungo il percorso. Quindi dovresti essere in grado di eliminare! Quindi reinstallare il nodo e dovrebbe funzionare.



0

Nel mio caso, semplicemente rieseguire brew install yarnil problema risolto.


0

Ho riscontrato gli stessi problemi dopo che brew ha installato il filo sul mio MacOs Sierra 10.12.6. (E il primo tentativo di installazione cade dopo brew update self con un messaggio "Homebrew deve essere eseguito con Ruby 2.3! Stai eseguendo 2.0.0. (RuntimeError)". Quindi lo eseguo di nuovo.)

Quindi uso n manager per reinstallare npm.

  • passare a un'altra versione del nodo (per il mio caso a 8.0) con il comando "n" con parametri vuoti
  • o installa nuovo con "n xxx" dove xxx il numero di versione del nodo (ho bisogno della 6.9.1)
  • elimina la versione funzionante di "n rm xxx" dove xxx il numero di versione del nodo. usa sudo se necessario
  • installa la versione funzionante con "n xxx" dove xxx il numero di versione del nodo. usa sudo se necessario
  • passa alla versione funzionante del nodo. (vedi il primo passo per riferimento)

Penso che il problema possa essere causato dal fatto che il nodo è stato installato su sudo per ogni evenienza.



0

Ho avuto lo stesso problema con l'installazione su AWS Linux. Ho dovuto installarlo con sudo. Quindi per ovviare a questo ho seguito il passaggio 3 di questo articolo (assicurandomi di ottenere l'ultima versione del nodo)

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

Ma installato nella home directory dell'utente /home/aUser/node. Quindi ho aggiunto quel percorso al mio PERCORSO.

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

Dopo quello sono stato in grado di fare un npm installproblema senza problemi.


0

Ho affrontato questi problemi durante l'esecuzione del progetto su una versione superiore di cli. Per risolvere questo problema puoi semplicemente commentare @ angular-devkit / build-angular module e di nuovo devi reinstallarlo attraverso

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


0

Assicurati solo che semversia installato:npm install -g semver


1
npm non funziona, quindi non è possibile installare semver tramite npm. La soluzione migliore è usare il filo per installare npm o pacchetti mancanti
NFpeter

@NFpeter Ho avuto esattamente lo stesso problema indicato nella domanda e risolto in questo modo, quindi npm ha funzionato (almeno nel mio caso).
Javarome,

0

Per me, è successo durante l'aggiornamento a gulp 4 da gulp 3 nel mio progetto. Quindi, quando eseguo il comando "gulp watch", mi lanciava lo stesso errore.

Probabilmente è dovuto alla mancata corrispondenza della versione rispetto al mio gulp installato a livello globale.

Quindi, sia l'aggiornamento di gulp con "-g" bandiera globale sarebbe d'aiuto, oppure ho seguito questo sotto

Tuttavia, ho usato "./node_modules/.bin/gulp watch" nel mio progetto. Questo assicura che tutte le dipendenze di cui gulp necessita siano prese solo da node_modules.


0

Come notato da anonimo (?) Su DeveloperReference.com, i passaggi seguenti hanno risolto il "impossibile trovare il modulo 'semver'" per me quando eseguo npm -install:

* "Ho seguito questi passaggi e risolto il mio problema disinstallare Node.js

  1. Rimuovere il contenuto delle seguenti cartelle
    • C: \ Users \ {nome utente} \ AppData \ Roaming \ npm-cache
    • C: \ Users \ {nome utente \ \ AppData \ Roaming \ npm
  2. C: \ Programmi \ nodejs Quindi installare nuovamente Nodo da https://nodejs.org/en/ "*

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


-1

Controlla i tuoi script preinstall se ne hai uno. A volte per limitare le versioni nodee npmbisogna eseguire un progetto.

In tal caso, è necessario installare semvermanualmente tramitenpm install -g semver


-2

Ho riscontrato lo stesso problema e risolto aggiornando la mia versione del nodo

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.