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

当前回答

我在AWS Linux上安装时也遇到了同样的问题。我必须用sudo安装它。因此,为了解决这个问题,我遵循了本文中的第3步(确保获得最新版本的node)

https://www.hostingadvice.com/how-to/update-node-js-latest-version/

wget https://nodejs.org/dist/vx.x.x/node-vx.x.x-linux-x64.tar.xz
tar -C /home/aUser/node --strip-components 1 -xJf node-vx.x.x-linux.x64.tar.xz

但是将它安装到用户的主目录/home/ auser /node。然后将该路径添加到我的path中。

导出路径= / home /用户/节点/ bin:美元的道路

在那之后,我就可以毫无问题地进行npm安装了。

其他回答

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

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

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

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

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

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

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

别介意 安装纱。通过npm执行并行安装,从而获得更好的速度和性能

须藤易脱纱 curl - ss https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - 回显"deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list Sudo apt-get update Sudo apt-get install yarn -y