Die Npm-Installation kann das Modul 'semver' nicht finden.

196

Ich kann npm installdie Eingabeaufforderung in NodeJS nicht verwenden . Beim Ausführen werden npm installfolgende Fehler angezeigt :

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
quelle
4
Ich hatte das gleiche Problem. Alternativ können Sie Garn anstelle von npm verwenden
Wojciech Maślanka
1
Verwenden Sie Garn, um die package.json zu installieren?
Anandharshan
1
Einfach neu installieren npm
Nuno Ferro

Antworten:

401

Ich hatte den gleichen Fehler. npm uninstall npm -g, rm -rf node_moduleshat mir nicht geholfen, denn als ich es versuchte, bekam ich es Error: Cannot find module 'semver'. Aber ich löse mein Problem mit diesen Schritten (dadurch werden andere globale Module gelöscht, die Sie möglicherweise verwenden):

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

Hoffe, dies wird denen helfen, die ein ähnliches Problem bekommen.

Artiebits
quelle
3
Verwendet dies auf zwei verschiedenen Maschinen mit El Capitan, funktionierte in beiden Fällen.
Kamikaze Rusher
7
Verwenden Sie brew uninstall --force node, um alle Versionen zu entfernen
deleze
5
Installieren Sie einfach npm erneut. curl -0 -L https://npmjs.org/install.sh | sudo shnach dem Entfernen von npm Ordner
Baryon Lee
17
Wenn Garn bereits installiert ist, brew uninstall --ignore-dependencies nodefunktioniert bei mir wo brew uninstall --force nodenicht.
Maxime Lafarie
13
Es ist meine Schuld, sudo rm -rf /usr/local/lib/node_modulesdass ich Befehle blind eingefügt habe, aber ich habe globale Module verloren, die ich verwende, wie z. B. gulp und Selenium Server. Seien Sie müde davon
AmmarCSE
84

Ich stehe hier vor dem gleichen Problem.

Wenn dies direkt nach dem Start auftritt, brew install yarnversuchen Sie es yarn global add npmund voilà - behoben!

Ashoor
quelle
2
Diese Lösung hat bei mir hervorragend funktioniert und ist unendlich einfacher als die Alternativen hier. Ich denke, Garn kann npm beschädigen, wenn die Installation während des Upgrades / der Installation einen Berechtigungs- / Zugriffsfehler erhält.
Slbox
52

Unter MS Windows besteht die Lösung darin, sie zu entfernen %APPDATA%\npmund neu zu installierennode

Gangadhar
quelle
Ich wünschte, ich könnte diese Abstimmung für Windows verdoppeln. Es gibt ein Problem: Das AppData-Verzeichnis war standardmäßig ausgeblendet, daher habe ich nicht gedacht, dass es tatsächlich an diesem Speicherort installiert wurde.
Ringo
7
Unter Windows muss nur repariert werden, ohne dass eine Neuinstallation
erforderlich ist
2
@MotKohn Was reparieren? Ein Bein? ein Knochen? einen Wagen? "reparieren" was?!
Samayo
2
@samayo Unter Windows, auf dem Sie installieren, gibt es eine Reparaturoption. Entschuldigung, dies war ein kontextbezogener Kommentar.
MotKohn
2
Dieser Ansatz funktionierte auch für mich auf meinem 64-Bit-Windows 8.1 Enterprise-Laptop. Ich musste sowohl den Ordner "npm" als auch den Ordner "npm-cache" löschen, gefolgt von einer Deinstallation und einer neuen Knoteninstallation.
Eddie
46

Ich hatte das auch, nachdem ich brew install yarngestern gelaufen war . Zumindest war bis dahin alles in Ordnung.

Ich lief rm -rf node_modulesund versuchte neu zu installieren, aber kein npmBefehl funktionierte.

Am Ende habe ich den ziemlich einfachen Schritt unternommen, Node über das offizielle Node-Installationsprogramm für Mac OS X neu zu installieren.

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

Alles ist jetzt gut. Ging einfach zurück in das Verzeichnis, lief npm installund es ist der Trick getan.

Raffjones
quelle
npm installhabe es für mich getan. Ich habe alle Abhängigkeiten einzeln installiert, npm installaber alle auf einmal ausgeführt. Vielen Dank.
Tazboy
3
Ich hatte dies auch nach einembrew install yarn
Walter Martin Vargas-Pena
1
Die einfache Neuinstallation von node.js vom offiziellen osx-Installationsprogramm hat geholfen. Vielen Dank!
Roman
es ist mir auch danach passiert brew install yarn!! Was zum Teufel, Garn
Movac
23

Unter Arch Linux war der Trick für mich:

sudo pacman -Rs npm
sudo pacman -S npm
Telmo Trooper
quelle
1
Ich musste verwenden sudo pacman -Rdd, um das Ignorieren der Abhängigkeiten zu entfernen, aber es löste das Problem für mich nicht. Die Installation von Semver aus den Arch-Paketen in Mathias Brauns Antwort war erfolgreich.
Pierre-Alexis Ciavaldini
15

Nachdem ich dies gerade unter Arch Linux 4.13.3 festgestellt hatte, löste ich das Problem durch einfaches Neuinstallieren semver:

pacman -S semver
Matthias Braun
quelle
8

Tatsächlich nimmt es die Referenz von zuvor gespeicherten Modulen.

Lösung: Löschen Sie den Ordner npm-cache / npm im Installationsverzeichnis von nodejs. In Windows befindet es sich in C: / Benutzer / Benutzername / Appdata / Roaming / npm (oder npm_cache). und versuchen Sie erneut zu installieren.

Das Gleiche gilt für jedes Betriebssystem.

Shubham Jaiswal
quelle
Das ist es. Ich habe den Knoten deinstalliert. Dann löschte beide npmund npm_cachevon /Appdata/Roaming. Dann wieder installierter Knoten. Scheint, als würde der Cache dort beschuldigt.
Saulius
7

In meinem Fall unter macOS (10.13.6), als ich den folgenden Befehl ausgeführt habe

npm install -g react-native-cli

Ich habe diesen Fehler bekommen

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)

Der Fehler wurde nach Ausführung des Befehls behoben

yarn global add npm

vorgeschlagen von @Ashoor

Zeeawan
quelle
5

Für mich geschah dies, nachdem ich Garn global installiert hatte. Um dieses Problem zu beheben, installieren Sie npm mit Garn und fertig.

yarn global add npm
the_haystacker
quelle
4

Unter Windows funktionierte es für mich, das MSI von Node erneut herunterzuladen und eine Reparatur durchzuführen.

Sornakumar
quelle
2

Ich hatte das gleiche Problem, aber es wurde durch eine kaputte package-lock.jsonDatei verursacht.

Das Löschen package-lock.jsonund npm installerneute Ausführen hat es für mich behoben.

Drahtblau
quelle
2

Dieses Problem trat auf, als ich npm installeine niedrigere Version des Knotens verwendete. Später, als ich auf die neueste Version des Knotens aktualisiert und ausgeführt gulphabe, wurde dieser Fehler angezeigt.

Zum Auflösen wurden node_modules gelöscht und erneut ausgeführt npm install. Dann gulplief gut.

Cedric
quelle
1

Entfernen Sie einfach den Ordner / node_modules und versuchen Sie es erneut. ;)

Sie können es verwenden npm rm, um es zu entfernen.

Sie können dieses Problem auch auf GitHub überprüfen . Um genauer zu unnistal zu sein, versuchen zu folgen diesen :

Deinstallation

So traurig dich gehen zu sehen.

sudo npm uninstall npm -gOder, wenn das fehlschlägt,

sudo make deinstallieren Schwerwiegendere Deinstallation

Normalerweise sind die obigen Anweisungen ausreichend. Dadurch wird npm entfernt, aber alles, was Sie installiert haben, bleibt zurück.

Wenn Sie alle von Ihnen installierten Pakete entfernen möchten, können Sie sie mit dem Befehl npm ls und anschließend mit npm rm entfernen.

Um die von npm 0.x zurückgelassene Kruft zu entfernen, können Sie die mitgelieferte Skriptdatei clean-old.sh verwenden. Sie können es bequem so ausführen:

npm explore npm -g - sh scripts / clean-old.sh npm verwendet zwei Konfigurationsdateien, eine für Konfigurationen pro Benutzer und eine für globale Konfigurationen (für jeden Benutzer). Sie können sie anzeigen, indem Sie Folgendes tun:

npm config get userconfig # ist standardmäßig ~ / .npmrc npm config get globalconfig # ist standardmäßig / usr / local / etc / npmrc Bei der Deinstallation von npm werden Konfigurationsdateien standardmäßig nicht entfernt. Sie müssen sie manuell entfernen, wenn Sie möchten, dass sie nicht mehr vorhanden sind. Beachten Sie, dass dies bedeutet, dass zukünftige npm-Installationen sich nicht an die von Ihnen gewählten Einstellungen erinnern.

Rodmentou
quelle
Meine Antwort wurde aktualisiert. Versuchen Sie es jetzt. Wenn es nicht funktioniert, testen Sie etwas für mich. Kopieren Sie die Datei package.json in einen anderen Ordner und versuchen Sie, npm install zu verwenden.
Rodmentou
1
Können Sie bitte Ihre package.json einfügen?
Rodmentou
{"name": "workspace", "version": "0.0.0", "private": true, "scripts": {"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", "Mönch": "^ 1.0.1", "Morgan": "~ 1.6.1", "Serve-Favicon": "~ 2.3 .0 "},"
engine
Haben Sie versucht, npm install mit Ihrer package.json in einem anderen Ordner auszuführen?
Rodmentou
Ich muss auf node.js deinstallieren, nach der Installation von node.js .... Ich muss eine Beispielanwendung mit mean.that erstellen, wenn ich den Befehl npm intall installieren muss, aber ich erhalte den gleichen Fehler ... Bitte geben Sie eine Lösung für ich ....
user2447562
1

Ich habe es endlich herausgefunden! Ja, Sie müssen alle Dateien deinstallieren / löschen und neu installieren. ABER EINIGE DER DATEI-WEGE SIND ZU LANG, UM WÄHREND DES Deinstallationsprozesses zu löschen. Die Dateipfade in Node sind so lang, dass sie möglicherweise nicht gelöscht werden können. Sie müssen die Dateipfade umbenennen.

Verwenden Sie nach der Deinstallation von Node die Eingabeaufforderung und navigieren Sie zu ... \ Appdata \ roaming \ (verwenden Sie den Pfad aus der Fehlermeldung). Versuchen Sie, den Ordner mit del npm zu löschen. Wenn Sie dann keinen Ordner löschen können, benennen Sie die Ordner im Dateipfad in der nächsten Fehlermeldung in "a" oder etwas Kurzes um. Möglicherweise müssen Sie dies für mehrere Ordner entlang des Pfads tun. Dann sollten Sie löschen können! Dann installieren Sie den Knoten neu und es sollte funktionieren.

Der Windhover
quelle
0

In meinem Fall wurde brew install yarndas Problem durch einfaches erneutes Ausführen behoben.

jack4it
quelle
0

Ich hatte die gleichen Probleme, nachdem Brew Garn auf meinen MacOs Sierra 10.12.6 installiert hatte. (Und der erste Installationsversuch erfolgt nach dem Brew-Update selbst mit der Meldung "Homebrew muss unter Ruby 2.3 ausgeführt werden! Sie führen 2.0.0 aus. (RuntimeError)". Also führe ich es erneut aus.)

Also benutze ich n Manager, um npm neu zu installieren.

  • Wechseln Sie mit dem Befehl "n" mit leeren Parametern zu einer anderen Knotenversion (für meinen Fall zu 8.0)
  • oder installieren Sie neu durch "n xxx", wobei xxx die Versionsnummer des Knotens ist (ich brauche 6.9.1)
  • Löschen Sie die Arbeitsversion mit "n rm xxx", wobei xxx die Versionsnummer des Knotens ist. Verwenden Sie bei Bedarf sudo
  • Installieren Sie die Arbeitsversion mit "n xxx", wobei xxx die Versionsnummer des Knotens ist. Verwenden Sie bei Bedarf sudo
  • Wechseln Sie zur Arbeitsversion des Knotens. (siehe ersten Schritt als Referenz)

Ich denke, das Problem kann verursacht werden, dass der Knoten für den Fall unter sudo installiert wurde.

Größte
quelle
0

Ich hatte das gleiche Problem bei der Installation unter AWS Linux. Ich musste es mit installieren sudo. Um dies zu umgehen, habe ich Schritt 3 aus diesem Artikel befolgt (um sicherzustellen, dass Sie die neueste Version von Node erhalten).

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

Aber installiert es im Home-Verzeichnis des Benutzers /home/aUser/node. Dann fügte ich diesen Pfad meinem Pfad hinzu.

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

Danach konnte ich ein npm installohne Probleme machen.

Jerinaw
quelle
0

Ich habe diese Probleme beim Ausführen eines Projekts auf einer höheren Version von cli festgestellt. Um dieses Problem zu lösen, können Sie einfach das @ angle-devkit / build-angle-Modul auskommentieren und es erneut installieren

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

Sachin
quelle
0

Stellen Sie einfach sicher, dass semverinstalliert ist:npm install -g semver

Javarome
quelle
1
npm funktioniert nicht, daher können Sie semver nicht über npm installieren. Die beste Lösung ist, Garn zu verwenden, um npm oder fehlende Pakete zu installieren
NFpeter
@NFpeter Ich hatte genau das gleiche Problem wie in der Frage angegeben und habe es auf diese Weise behoben, sodass npm funktioniert hat (zumindest in meinem Fall).
Javarome
0

Für mich geschah dies beim Upgrade von gulp 3 in meinem Projekt auf gulp 4. Als ich den Befehl "gulp watch" ausführte, gab es denselben Fehler.

Es ist wahrscheinlich auf Versionsinkongruenzen im Vergleich zu meinem global installierten Schluck zurückzuführen.

Entweder würde ein Upgrade von gulp mit dem globalen Flag "-g" helfen, oder ich habe dies unten befolgt

In meinem Projekt habe ich jedoch "./node_modules/.bin/gulp watch" verwendet. Dadurch wird sichergestellt, dass alle Abhängigkeiten, die gulp benötigt, nur von node_modules übernommen werden.

myDoggyWritesCode
quelle
0

Wie von anonym (?) Auf DeveloperReference.com festgestellt, haben die folgenden Schritte das Problem behoben, dass das Modul "semver" für mich nicht gefunden werden kann, wenn npm -install ausgeführt wird:

* "Ich habe diese Schritte befolgt und mein Problem behoben, indem Node.js deinstalliert wurde

  1. Entfernen Sie den Inhalt der folgenden Ordner
    • C: \ Benutzer \ {Benutzername} \ AppData \ Roaming \ npm-Cache
    • C: \ Benutzer \ {Benutzername \ \ AppData \ Roaming \ npm
  2. C: \ Programme \ nodejs Installieren Sie Node erneut von https://nodejs.org/en/ "*

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

Mosca Pt
quelle
-1

Überprüfen Sie einfach Ihre Vorinstallationsskripte, falls Sie eines haben. Manchmal, um die Versionen von einzuschränken nodeund npmman muss ein Projekt ausführen.

In diesem Fall müssen Sie semvermanuell über installierennpm install -g semver

Mr94
quelle
-2

Ich bin auf dasselbe Problem gestoßen und habe es durch ein Upgrade meiner Node-Version behoben

tim
quelle