【问题标题】:Npm and Node commands are brokenNpm 和 Node 命令被破坏
【发布时间】:2016-10-14 09:39:31
【问题描述】:

每次我尝试运行 npm -vnode -v 时,我都会得到:

/usr/bin/env: node: No such file or directory

这是我的 /usr/local/bin/

-rwxr-xr-x  1 root root     492 Jun 13 15:23 bundle
-rwxr-xr-x  1 root root     493 Jun 13 15:23 bundler
-rwxr-xr-x. 1 root root    2774 Jan 25  2015 charm
-rwxr-xr-x  1 root root 1116534 Aug  7  2015 composer
-rwxr-xr-x  1 root root    2777 Jul 23  2015 mine
lrwxrwxrwx  1 root root      15 Oct 13 14:44 node -> /usr/bin/nodejs
lrwxrwxrwx  1 root root      38 Oct 13 14:53 npm -> ../lib/node_modules/npm/bin/npm-cli.js
lrwxrwxrwx  1 root root      20 Jan 21  2016 packettracer -> /opt/pt/packettracer
-rwxr-xr-x. 1 root root    2580 Jan 25  2015 pstorm
-rwxr-xr-x  1 root root  255192 Apr 11  2016 rdesktop
-rw-r--r--  1 root root     165 Jan 27  2015 subl
-rwxr-xr-x  1 root root  193370 Aug  7  2015 symfony

如果我导航到以下目录,我可以在其中看到 npm 和 node,并且可以检查版本而不会出错

/usr/local/n/versions/node/6.6.0/bin 

当我尝试运行 sudo yum install nodejs 时,它告诉我它已经安装并且我正在运行旧版本。这一切都发生在我最近更新 node 和 npm 之后。

【问题讨论】:

  • 发布echo $PATHwhich nodewhich nodejs的输出
  • which node 和 which nodejs 都给出了与 npm -v 相同的错误。我解决了这个问题。我卸载了节点并重新安装它,一切都开始工作了

标签: node.js linux npm fedora


【解决方案1】:

这似乎很可能不起作用,因为node 二进制文件在/usr/local/n/versions/node/6.6.0/bin 中(如你所说),而不在PATH 环境变量中。默认情况下,这被设置为二进制文件的一些标准位置,这不是其中之一,所以env 不知道去哪里找。有关设置的更多信息,请参阅https://unix.stackexchange.com/questions/26047/how-to-correctly-add-a-path-to-path

【讨论】:

    猜你喜欢
    • 2014-05-12
    • 2019-02-17
    • 1970-01-01
    • 2018-10-23
    • 2014-10-26
    • 1970-01-01
    • 2020-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多