On Ubuntu, we found that if node.js is installed via some sort of Debian package, that installs node.js as /usr/bin/nodejs. /usr/bin/node is a symlink to /etc/alternatives/node which is also a symlink to /usr/bin/nodejs.
The problem is process.args is "node", but process.execPath is "/usr/bin/nodejs". The CLI compares these two to detect if the first arg is the node.js executable, then strip it off. Because "node" != "nodejs", the executable is not stripped off and the error happens.
To fix this, we need to properly resolve process.args. That means that the CLI needs to call appc.subprocess.findExecutable(process.argv, ...) to convert "node" to "/usr/bin/node", then we need to run fs.realpathSync() on that result to resolve the symlinks to "/usr/bin/nodejs" and finally compare that to process.execPath.
As a temporary workaround, you can copy /usr/bin/nodejs to /usr/bin/node.