Npm kann Modulfehler „semver“ in Ubuntu 19.04 nicht finden

Npm kann Modulfehler „semver“ in Ubuntu 19.04 nicht finden

Immer wenn ich versuche, den npm-Befehl auszuführen, wird mir der folgende Fehler angezeigt.

internal/modules/cjs/loader.js:626
throw err;
^

Error: Cannot find module 'semver'
Require stack:
- /usr/share/npm/lib/utils/unsupported.js
- /usr/share/npm/bin/npm-cli.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:623:15)
    at Function.Module._load (internal/modules/cjs/loader.js:527:27)
    at Module.require (internal/modules/cjs/loader.js:681:19)
    at require (internal/modules/cjs/helpers.js:16:16)
    at Object.<anonymous> (/usr/share/npm/lib/utils/unsupported.js:2:14)
    at Module._compile (internal/modules/cjs/loader.js:774:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:785:10)
    at Module.load (internal/modules/cjs/loader.js:641:32)
    at Function.Module._load (internal/modules/cjs/loader.js:556:12)
    at Module.require (internal/modules/cjs/loader.js:681:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/usr/share/npm/lib/utils/unsupported.js',
    '/usr/share/npm/bin/npm-cli.js'
  ]
}

Ich habe im Grunde versucht, FreeCodeCamp offline zu verwenden. Ich wurde aufgefordert, den Befehl „npm ci“ auszuführen, woraufhin dieser Fehler auftrat.

Ich habe versucht, npm neu zu installieren, aber es funktioniert nicht. Ich habe auch versucht, das Semver-Modul zu installieren, was auch nicht geholfen hat.

Was könnte schiefgelaufen sein und wie kann ich das Problem beheben?

Antwort1

Habe eine ähnliche Frage gefundenHierund die Antwort hat funktioniert.

sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node* ~/.npm
sudo rm -rf /usr/local/lib/node*
sudo rm -rf /usr/local/bin/node*
sudo rm -rf /usr/local/include/node*

sudo apt-get purge nodejs npm
sudo apt autoremove

Laden Sie die neueste tar.xzNodeJS-Datei herunter vonhttps://nodejs.org/en/download/

tar -xf node-v#.#.#-linux-x64.tar.xz
sudo mv node-v#.#.#-linux-x64/bin/* /usr/local/bin/
sudo mv node-v#.#.#-linux-x64/lib/node_modules/ /usr/local/lib/

Wo #.#.#ist die Version, die Sie heruntergeladen haben?

Überprüfen Sie die Installation mit

node -v
npm -v

Antwort2

Es hängt davon ab, wie Sie Node JS/npm verwalten möchten.

Wie Bilbo Beutlin vorgeschlagen hat, können Sie die neueste LTS-Version von Node JS von der offiziellen Website installieren:https://nodejs.org/en/download/.

Wenn Sie Node unter Ubuntu lieber über die Standard-Repositorys verwalten möchten apt, installieren Sie am besten beides nodejsauf npmdiese Weise.

Es ist sehr wahrscheinlich, dass die von Ihnen verwendete npm-Version semveran einer bestimmten Stelle erwartet wird, die nicht mit der von Ihnen installierten Node JS-Version übereinstimmt. Wenn nur eine Version von nodejsund nur eine Version von vorhanden sind npmund beide mit den Standard-Repositorys installiert sind, sollte dies einwandfrei funktionieren.

Hier ist meine beste Anleitung, um Node und npm mit den wichtigsten Ubuntu-Repositorys zum Laufen zu bringen:

  1. sudo apt-get purge nodejs --auto-removeUndsudo apt-get purge npm --auto-remove
  2. whereis node: Entfernen Sie nacheinander alle Versionen des Knotens. Wiederholen Sie den Vorgang, bis dieser Befehl nach ein Leerzeichen zurückgibt node:.
  3. sudo apt-get install nodejs
  4. node --version: sollte zurückkehren... no such file or directory
  5. nodejs --version: sollte zurückgeben v1x.x.x. Dies ist die von installierte Version apt. Sie ist wahrscheinlich älter als die neueste Version, die auf der Node JS-Website verfügbar ist.
  6. sudo apt-get install npm
  7. npm --version: Es wird die nodejsvon installierte Version verwendet aptund funktioniert ordnungsgemäß.

Antwort3

Ich habe nvm verwendet, um Node-Versionen zu verwalten. In meinem Fall war npm syslink defekt. Ich habe es gelöst, indem ich Node deinstalliert und dann erneut installiert habe.

Überprüfen Sie Ihre Knotenversion mitnode --version

dann rennenvm uninstall <your version>

installieren Sie es dann erneut mitnvm install <your version

Antwort4

Ich hatte das gleiche Problem, aber am 22.04. Nichts von dem oben genannten hat bei mir funktioniert, aber ich habe dieses Verfahren gefunden, das funktioniert hat. https://codemarvels.in/2021/03/20/npm-install-gives-error-cannot-find-module-semver/ Im Wesentlichen:

sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node* ~/.npm
sudo rm -rf /usr/local/lib/node*
sudo rm -rf /usr/local/bin/node*
sudo rm -rf /usr/local/include/node*
sudo apt-get purge nodejs npm
sudo apt autoremove
sudo apt-get install nodejs npm

verwandte Informationen