NPM:没有这样的文件或目录

时间:2017-12-01 11:44:12

标签: node.js ubuntu npm

我使用的是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

5 个答案:

答案 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 中使用以下简单步骤解决了这个问题

  1. 运行which npm
  2. 运行hash -r
  3. 运行npm -v