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

当前回答

sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node* ~/.npm
sudo rm -rf /usr/local/lib/node*
sudo rm -rf /usr/local/bin/node*
sudo rm -rf /usr/local/include/node*

sudo apt-get purge nodejs npm
sudo apt autoremove

然后安装node和npm

其他回答

只需卸载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进行检查

我也有这个,在昨天运行brew安装纱线后。至少,在那之前一切都很好。

我运行rm -rf node_modules并尝试重新安装,但没有npm命令工作。

最后,我采取了相当简单的步骤,通过Mac OS X的官方Node安装程序重新安装Node。

https://nodejs.org/en/download/

现在一切都好了。回到目录,运行npm install,它就完成了。

提醒一下,可执行npm通过node env执行:

xb@dnxb:/tmp$ type -a npm
npm is /usr/bin/npm
npm is /bin/npm
xb@dnxb:/tmp$ realpath /usr/bin/npm /bin/npm
/usr/share/npm/bin/npm-cli.js
/usr/share/npm/bin/npm-cli.js
xb@dnxb:/tmp$ 
xb@dnxb:/tmp$ head -1 /usr/share/npm/bin/npm-cli.js
#!/usr/bin/env node

我可以通过-a类型检查哪个节点被选择,第一行具有最优先级,即,如果我运行/usr/local/bin/node /usr/share/npm/bin/npm-cli.js,我可以得到相同的错误,但如果我运行/usr/bin/node /usr/share/npm/bin/npm-cli.js,则没有错误:

xb@dnxb:/tmp$ type -a node
node is /usr/local/bin/node
node is /usr/bin/node
node is /bin/node
xb@dnxb:/tmp$ realpath /usr/local/bin/node
/usr/local/bin/node
xb@dnxb:/tmp$ realpath /usr/bin/node
/usr/bin/node
xb@dnxb:/tmp$ realpath /bin/node
/usr/bin/node
xb@dnxb:/tmp$ 

有2个唯一的基于realpath的节点exe。如果你有类似的情况,那么你需要找出如何删除不需要的/损坏的节点exe,例如sudo rm /usr/local/bin/node或操纵env $PATH。

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

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

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