我使用的是Ubuntu 16.04
我删除了NPM以便安装旧版本。 (我无法准确地命令我使用的)。
现在我无法重新安装它。
npm -v
输出:bash: /usr/bin/npm: /usr/bin/nodejs: bad interpreter: No such file or directory
which npm
输出:/usr/bin/npm
curl -L http://npmjs.org/install.sh | sudo sh
输出:
`install npm@latest
fetching: https://registry.npmjs.org/npm/-/npm-5.5.1.tgz
module.js:544
throw err;
^
Error: Cannot find module '/tmp/npm.9881/package/bin/read-package-json.js'
at Function.Module._resolveFilename (module.js:542:15)
at Function.Module._load (module.js:472:25)
at Function.Module.runMain (module.js:682:10)
at startup (bootstrap_node.js:191:16)
at bootstrap_node.js:613:3
up to date in 0.059s
/usr/local/bin/npx -> /usr/local/lib/node_modules/npm/bin/npx-cli.js
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
+ npm@5.5.1
added 1 package in 1.907s
It worked`
UPD:解决了。 完全删除node / nodejs / npm并删除所有相关文件夹,然后通过NVM帮助重新安装。 https://www.digitalocean.com/community/tutorials/how-to-install-node-js-with-nvm-node-version-manager-on-a-vps
答案 0 :(得分:4)
安装nodejs的更好方法是通过nvm。在这里,您可以在一台机器上安装/使用多个版本的nodejs。
https://github.com/creationix/nvm
然后
nvm install $vesionNo
nvm use $versionNO
// for default
nvm alias default node
答案 1 :(得分:1)
在某些Linux发行版中,节点安装在/usr/bin/nodejs
而非/usr/bin/node
上。
我做的是安装nodejs-legacy,它解决了这个问题。它会创建一个从/usr/bin/nodejs
到/usr/bin/node
的符号链接。
因此,我建议(作为最简单的解决方案)是安装nodejs-legacy
:
sudo apt-get install nodejs-legacy
答案 2 :(得分:0)
尝试此命令:
sudo npm install -g npm@latest
最新版本或其他:
sudo npm install -g npm@<version_no_here>
具体版本。
答案 3 :(得分:0)
如果Windows用户名中除了英语字符之外还有其他字符或空格,也可能是由于此引起的。
我正在谈论全局软件包的安装。如果要在特定项目上安装软件包,则也可能是由于缺少package.json造成的。
答案 4 :(得分:0)
我在 ubuntu 18.04 中使用以下简单步骤解决了这个问题
which npm
hash -r
npm -v