Npm和Node命令被破坏

时间:2016-10-13 19:15:59

标签: node.js linux npm fedora

每当我尝试运行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时,它告诉我它已经安装并且我正在运行旧版本。这一切都发生在我最近更新节点和npm之后。

1 个答案:

答案 0 :(得分: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