我不能在NodeJS中使用命令提示符使用npm install。我在运行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)

当前回答

在WSL(所以,~Ubuntu)上,我通过apt安装了nodejs和npm,然后使用n更新Node后,我遇到了这个问题。

我可以通过完全删除apt的npm安装来解决这个问题:sudo apt purge npm。

其他回答

我也有同样的问题,但这是由损坏的包裹锁引起的。json文件。

删除package-lock。Json和运行NPM install再次为我修复了它。

我得到了同样的错误,我解决了它。

删除package-lock。Json文件和node_modules文件夹,然后安装NPM

我也遇到过同样的问题,我解决它的方法是执行

PATH="$PATH"

在终端中,问题是终端保留了旧的nodejs路径,而不是使用新的路径。

刚刚在Arch Linux 4.13.3上遇到了这个问题,我通过简单地重新安装semver解决了这个问题:

pacman -S semver

我也犯了同样的错误。npm uninstall npm -g, rm -rf node_modules没有帮助我,因为当我尝试时,我得到错误:无法找到模块'semver'。但是我用这些步骤解决了我的问题(这将删除你可能正在使用的其他全局模块):

Sudo rm -rf /usr/local/lib/node_modules Sudo rm -rf ~/.npm 酿造卸载——force节点 Brew安装节点

希望这能帮助到那些有类似问题的人。