NodeJS程序失败,退出时没有输出

Rob*_*low 3 bash node.js ubuntu-14.04 grover

我的几个节点程序正在退出,其状态为失败,没有输出.例如:

$ npmunbox --help  # Error - no output
$ grover --version  # Error - no output
Run Code Online (Sandbox Code Playgroud)

即使我的nodejs似乎工作正常:

$ nodejs --version
v0.10.32
Run Code Online (Sandbox Code Playgroud)

我正在运行Ubuntu 14.04.

Rob*_*low 5

问题是我有一个名为"节点 - 业余分组无线电节点程序(过渡包)"(注意:这不是nodejs)的软件包安装:

$ dpkg -l | grep node
ii  ax25-node                                             0.3.2-7.4                                           amd64        Amateur Packet Radio Node program
ii  node                                                  0.3.2-7.4                                           amd64        Amateur Packet Radio Node program
ii  nodejs                                                0.10.32-1chl1~trusty1                               amd64        Node.js event-based server-side javascript engi
Run Code Online (Sandbox Code Playgroud)

这个二进制文件是/usr/bin/node,但有些nodejs程序希望在nodejs这里找到二进制文件.

诀窍是卸载node软件包,然后重新安装nodejs:

$ sudo apt-get purge node nodejs  # Uninstall both
$ sudo apt-get install nodejs  # Reinstall nodejs
Run Code Online (Sandbox Code Playgroud)

现在/usr/bin/node应该将二进制文件链接到nodejs(以某种迂回的方式):

$ ls -l /usr/bin/node /etc/alternatives/node
lrwxrwxrwx 1 root root 15 Sep 18 15:57 /etc/alternatives/node -> /usr/bin/nodejs
lrwxrwxrwx 1 root root 22 Sep 18 15:57 /usr/bin/node -> /etc/alternatives/node
Run Code Online (Sandbox Code Playgroud)

您的nodejs程序现在应该可以正常工作:

$ npmunbox --help
npmunbox - Extracts a .npmbox file and installs the contained package.
...
$ grover --version
0.1.17
Run Code Online (Sandbox Code Playgroud)