【问题标题】:NPM: no such file or directoryNPM:没有这样的文件或目录
【发布时间】:2018-05-15 12:23:30
【问题描述】:

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

【问题讨论】:

    标签: node.js ubuntu npm


    【解决方案1】:

    在某些 Linux 发行版中,节点安装在 /usr/bin/nodejs 而不是 /usr/bin/node

    我所做的是安装 nodejs-legacy,它解决了问题。它创建了一个从/usr/bin/nodejs/usr/bin/node 的符号链接。

    所以,我建议(作为最简单的解决方案)是安装nodejs-legacy

    sudo apt-get install nodejs-legacy
    

    【讨论】:

    • Reading package lists... Done Building dependency tree Reading state information... Done nodejs-legacy is already the newest version (4.2.6~dfsg-1ubuntu4.1). 0 upgraded, 0 newly installed, 0 to remove and 78 not upgraded.
    • 尝试下面的命令whereis nodenodejs 在哪里打印输出
    • node: /usr/bin/node /usr/local/bin/node /usr/share/man/man1/node.1.gz nodejs: /usr/bin/nodejs /usr/lib/nodejs /usr/include/nodejs /usr/share/nodejs /usr/share/man/man1/nodejs.1.gz 再来一次:我安装 NPM 有问题,我现在不关心 node/nodejs。
    【解决方案2】:

    安装 nodejs 的更好方法是通过 nvm。在这里你可以在一台机器上安装/使用多个版本的nodejs。

    https://github.com/creationix/nvm

    然后

    nvm install $vesionNo
    
    nvm use $versionNO
    
    // for default 
    
    nvm alias default node
    

    【讨论】:

    • 我不需要安装 nvm 或 nodejs。我有 npm 的问题
    • npm 自带 nodejs,我认为你不需要单独安装它们。
    【解决方案3】:

    试试这个命令:

    sudo npm install -g npm@latest
    

    对于最新版本或其他:

    sudo npm install -g npm@<version_no_here>
    

    具体版本。

    【讨论】:

    • sudo: unable to execute /usr/bin/npm: No such file or directory Hangup
    • 尝试通过sudo apt-get install npm安装。如果这也不起作用,请尝试再次安装节点。关注这个:digitalocean.com/community/tutorials/…
    • 您无法运行sudo npm install -g npm@latest,因为系统中不存在 nmp。
    【解决方案4】:

    如果windows用户名中有英文字符以外的字符或空格,也可能是这个原因造成的。

    我说的是全局包的安装。如果是在特定项目上安装包,也可能是缺少package.json造成的。

    【讨论】:

      【解决方案5】:

      我在 ubuntu 18.04 中使用以下简单步骤解决了这个问题

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

      【讨论】:

      • 在 Ubuntu 20.04 上为我工作
      • 非常感谢!
      猜你喜欢
      • 1970-01-01
      • 2018-02-15
      • 2016-05-03
      • 2018-06-29
      • 2016-11-03
      • 2022-06-10
      • 2021-06-24
      • 2018-09-29
      • 2019-07-05
      相关资源
      最近更新 更多