
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.xz
NodeJS-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 nodejs
auf npm
diese Weise.
Es ist sehr wahrscheinlich, dass die von Ihnen verwendete npm-Version semver
an einer bestimmten Stelle erwartet wird, die nicht mit der von Ihnen installierten Node JS-Version übereinstimmt. Wenn nur eine Version von nodejs
und nur eine Version von vorhanden sind npm
und 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:
sudo apt-get purge nodejs --auto-remove
Undsudo apt-get purge npm --auto-remove
whereis node
: Entfernen Sie nacheinander alle Versionen des Knotens. Wiederholen Sie den Vorgang, bis dieser Befehl nach ein Leerzeichen zurückgibtnode:
.sudo apt-get install nodejs
node --version
: sollte zurückkehren... no such file or directory
nodejs --version
: sollte zurückgebenv1x.x.x
. Dies ist die von installierte Versionapt
. Sie ist wahrscheinlich älter als die neueste Version, die auf der Node JS-Website verfügbar ist.sudo apt-get install npm
npm --version
: Es wird dienodejs
von installierte Version verwendetapt
und 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