Node shebang usando env

Para ejecutar un js con node:

$ node myscript.js

Para ejecutarlo como script ejecutable, se agrega un shebang al inicio:

myscript.js:
#!/usr/bin/node // ...

Se le da permiso de ejecución:
$ chmod +x myscript.js

Y finalmente ya se puede ejecutar:
$ ./myscript.js

Sin embargo, esto produce un error si /usr/bin/node no existe.

No se puede colocar simplemente node porque la sintaxis shebang requiere un path absoluto.

Sin embargo, se puede colocar /usr/bin/env node.
/usr/bin/env está siempre disponible.
env se encarga de ejecutar node.

myscript.js:
#!/usr/bin/env node // ...


Referencia: Node.js shebang