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

当前回答

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

其他回答

只需删除/node_modules文件夹,然后重试。,)

你可以使用npm rm来删除它。

你也可以在GitHub上检查这个问题。 更具体地说,unnistal是这样的:

Uninstalling So sad to see you go. sudo npm uninstall npm -g Or, if that fails, sudo make uninstall More Severe Uninstalling Usually, the above instructions are sufficient. That will remove npm, but leave behind anything you've installed. If you would like to remove all the packages that you have installed, then you can use the npm ls command to find them, and then npm rm to remove them. To remove cruft left behind by npm 0.x, you can use the included clean-old.sh script file. You can run it conveniently like this: npm explore npm -g -- sh scripts/clean-old.sh npm uses two configuration files, one for per-user configs, and another for global (every-user) configs. You can view them by doing: npm config get userconfig # defaults to ~/.npmrc npm config get globalconfig # defaults to /usr/local/etc/npmrc Uninstalling npm does not remove configuration files by default. You must remove them yourself manually if you want them gone. Note that this means that future npm installs will not remember the settings that you have chosen.

当我使用较低版本的node运行npm install时遇到了这个问题。后来当我升级到最新版本的节点并运行gulp时,它已经显示了这个错误。

为了解决这个问题,删除node_modules并重新运行npm install。然后一口气就咽下去了。

实际上,它引用了以前存储的模块。

处理步骤:删除nodejs安装目录下的“npm-cache/npm”文件夹。 在windows中,它在C:/User/Username/Appdata/Roaming/npm(或npm_cache)中。 并尝试重新安装。

在任何操作系统中都是一样的。

只需删除你的node_modules

rm -rf node_modules

than

yarn

or

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。