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

当前回答

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

PATH="$PATH"

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

其他回答

对于arch linux

sudo pacman -Rsc -n nodejs
sudo pacman -Sy nodejs
sudo pacman -Sy npm

在这里找到:https://github.com/npm/npm/issues/15558

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

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

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

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

只需卸载node js,然后使用nvm重新安装。你的问题会解决的。我是debian 10的用户。

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash

执行命令后。关闭终端并重新打开,然后运行此命令安装node js的最新版本。

nvm install v14.15.5

现在输入node -v进行检查