Node.js sangat populer hari ini dan saya telah menulis beberapa skrip di atasnya. Sayangnya, kompatibilitas adalah masalah. Secara resmi, interpreter Node.js seharusnya dipanggil node
, tetapi Debian dan Ubuntu mengirim eksekutabel yang dipanggil nodejs
.
Saya ingin skrip portabel yang dapat digunakan Node.js dalam situasi sebanyak mungkin. Dengan asumsi nama file adalah foo.js
, saya benar-benar ingin skrip berjalan dalam dua cara:
./foo.js
menjalankan skrip jika adanode
ataunodejs
ada di$PATH
.node foo.js
juga menjalankan skrip (dengan asumsi penerjemah disebutnode
)
Catatan: Jawaban oleh xavierm02 dan saya sendiri adalah dua variasi skrip polyglot. Saya masih tertarik dengan solusi shebang murni, jika ada.
alphacentauri
dan semacamnya. Jika ada executable yang dipanggil nodejs
, Anda bisa 99% yakin itu Node.js. Mengapa tidak mendukung keduanya nodejs
dan node
?
node
untuk skrip Anda, atau memiliki semacam skrip make yang memodifikasi shebang.