使用 npm 时出现“没有这样的文件或目录”错误

use*_*187 54 nodejs npm

我使用此处提供的说明安装了 node 和 npm

我能够成功使用节点。但是,当我尝试安装“Formidable”节点模块时,出现以下错误:

$npm install formidable
bash: /usr/local/bin/npm: /usr/local/bin/node: bad interpreter: No such file or directory
Run Code Online (Sandbox Code Playgroud)

当我做一个which npm我得到以下输出:

$which npm
/usr/local/bin/npm
Run Code Online (Sandbox Code Playgroud)

我不知道这里 npm 有什么问题 - 关于如何解决这个问题的任何想法?

use*_*187 80

根据@gertvdijk 的提示,我使用脚本卸载了 NPM:

rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/npm*
Run Code Online (Sandbox Code Playgroud)

(可以在这里找到)

即使在执行上述操作后,我还是遇到了另一个错误:

$ npm install formidable  
bash: /usr/local/bin/npm: No such file or directory
Run Code Online (Sandbox Code Playgroud)

因此,我hash -r在终端中运行(根据NPM Won't Run After Upgrade下的说明),瞧 - 它起作用了。NPM 现在可以工作了!

  • hash -r 救了我 (8认同)
  • 什么是哈希?它像魔术一样工作,但我不知道它是如何工作的 (2认同)

小智 11

Ubuntu 和一些 Linux 发行版将 node 的解释器安装为/usr/bin/nodejs,而不是/usr/local/bin/node.

您可以通过安装nodejs-legacy/usr/bin/nodejsto创建符号链接的软件包来解决此问题/usr/bin/node

解决方案:

sudo apt-get install nodejs-legacy
Run Code Online (Sandbox Code Playgroud)

参考资料: nodejs-legacy 包

  • 似乎`nodejs-legacy` 不再存在。 (3认同)

小智 5

第 1 步:运行npm -v o/p :错误:bash:/usr/local/bin/npm:没有那个文件或目录

第 2 步:运行which npm o/p:/usr/bin/npm

第 3 步:运行hash -r然后运行npm -v o/p : 3.5.2