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

当前回答

只要确保semver已经安装:npm install -g semver

其他回答

对我来说,它发生在我的项目从gulp 3升级到gulp 4的时候。 所以,当我运行“gulp watch”命令时,它抛出了同样的错误。

这可能是由于与我的全球安装的gulp版本不匹配。

因此,要么用“-g”全局标志升级gulp会有所帮助,要么我按照下面的方法进行

但是,我在我的项目中使用了“./node_modules/.bin/gulp watch”。这确保了gulp需要的所有依赖项都只取自node_modules。

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

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

我在这里也面临同样的问题。

如果在运行brew install yarn后发生这种情况,请尝试运行yarn global add npm和voilà -已修复!

只要检查你的预安装脚本,如果你有一个。有时候为了限制node和npm的版本,你需要运行一个项目。

如果是这种情况,你需要通过npm install -g semver手动安装semver

在MS Windows上,解决方案是删除%APPDATA%\npm并重新安装node