I'm one of the developers on Yarn (https://yarnpkg.com/), a new package
launch, I created Debian packages and am hosting them in our own repository.
For the initial release, I used #!/usr/bin/nodejs as the shebang, due to
the fact that the Debian Node.js release calls its binary "nodejs" instead
of "node". However, this caused issues on systems where people have
installed Node.js through other installation methods. In an ideal world,
all dependencies would be installed through dpkg/apt-get, but unfortunately
that's not the case in the Node.js ecosystem. Some people install Node.js
through an application called "nvm" (https://github.com/creationix/nvm),
which is designed to allow the user to toggle between different Node.js
versions. This is useful for developers to easily test their code on
multiple different Node.js versions, as using the Debian Node.js package
does not allow multiple versions to be installed concurrently.
Since nvm uses the upstream Node.js releases directly, its binaries are
named "node" instead of "nodejs". This means that I needed to modify Yarn
to use a shell script that checks for both "node" (for users of nvm and
Node.js on non-Debian platforms) and "nodejs" (for users of the Debian
node.js packages). This works for Yarn itself, but there's many many
scripts and packages on npm that rely on the binary being called "node"
rather than "nodejs" and totally fall apart on Debian/Ubuntu. A lot of
users end up symlinking /usr/local/bin/node to /usr/bin/nodejs to get a
Given the amount of complexity stemming from Debian renaming this binary
and the fact that it breaks parts of the Node.js ecosystem, is there any
chance it will be renamed back to "node" in the future, or for
/usr/bin/node to be symlinked to /usr/bin/node (perhaps using the
update-alternatives system to allow the user to choose whether they want to
symlink nodejs or ax25-node, in case they have both installed)?