Npm 和 Node 命令被破坏

Npm and Node commands are broken

每次我尝试 运行 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 环境变量中。默认情况下,这被设置为二进制文件的一些标准位置,而这不是其中之一,所以 env 不知道去哪里找。有关此设置的更多信息,请参阅 https://unix.stackexchange.com/questions/26047/how-to-correctly-add-a-path-to-path