问题描述
我使用 here 提供的说明安装了节点和 npm
我能够成功使用节点。但是,当我尝试安装 “Formidable” 节点模块时,出现以下错误:
$npm install formidable
bash: /usr/local/bin/npm: /usr/local/bin/node: bad interpreter: No such file or directory
当我执行 which npm
时,我得到以下输出:
$which npm
/usr/local/bin/npm
我不知道这里的 npm 有什么问题 – 关于如何解决这个问题的任何想法?
最佳答案
根据@gertvdijk 的提示,我使用脚本卸载了 NPM:
rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/npm*
(可以找到 here )
即使在执行了上述操作之后,我仍然收到另一个错误:
$ npm install formidable
bash: /usr/local/bin/npm: No such file or directory
因此,我在终端中运行了 hash -r
(按照 NPM Won’t Run After Upgrade 下的说明),瞧——它成功了。 NPM 现在可以工作了!
次佳答案
Ubuntu 和一些 Linux 发行版将节点的解释器安装为 /usr/bin/nodejs
,而不是 /usr/local/bin/node
。
您可以通过安装 nodejs-legacy
软件包来解决此问题,该软件包创建从 /usr/bin/nodejs
到 /usr/bin/node
的符号链接。
解决方案:
sudo apt-get install nodejs-legacy
参考资料:\n nodejs-legacy package
第三种答案
第 1 步:运行 npm -v
\no/p :错误:bash:/usr/local/bin/npm:没有那个文件或目录
第 2 步:运行 which npm
\no/p: /usr/bin/npm
第 3 步:运行 hash -r
,然后运行 npm -v
\no/p:3.5.2