我不能在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)

当前回答

这个问题通常发生在node js和npm版本不兼容的时候。 在Ubuntu(我的版本是20)中修复这个问题

卸载node js和npm。 Apt移除NPM Apt删除nodejs 哪个节点(它将返回节点js文件路径) 删除节点目录 安装NVM 安装 安装节点 NVM安装,例如NVM install 8.16 上面的命令本身会安装node js和它兼容的NPM。

其他回答

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

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

如果您是在Linux服务器退出服务器,并重新ssh

我在更高版本的cli上运行项目时遇到了这个问题。要解决这个问题,你可以简单地注释掉@angular-devkit/build-angular模块,然后再次重新安装它

NPM install @angular-devkit/build-angular——save

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

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

在Windows上,再次下载Node的MSI并进行“修复”对我有用。