Npm和Node命令被破坏

每次我尝试运行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和节点,我可以检查版本没有错误

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

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

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