Komut dosyanız Düğüm geliştiricileri tarafından kullanılmak üzere tasarlanmışsa, kesinlikle yalnızca
#!/usr/bin/env node
ve yalnızca Node olarak yüklenmiş kişilerle uyumluluk için denemekten zahmet etmeyin nodejs
.
Gerekçe:
- Havalı çocukların yaptığı budur ve siz de yapmazsanız, havalı değilsiniz. Jshint , karma , bower ve hatta npm gibi büyük düğüm projeleri
#!/usr/bin/env node
, çalıştırılabilir betikleri için shebang olarak kullanır .
- Havalı çocuklar bunu yaptığı için, Ubuntu'da Node ile çalışan herkes için
/usr/bin/node
bir sembolik bağlantı kurdu nodejs
. Burada Stack Overflow'da ve tüm web'de bunu yapmak için çok görüntülenen talimatlar var. nodejs-legacy
Bütün amacı bu sembolik bağı sizin için yaratmak olan bir paket bile vardı. Düğüm kullanan insanlar Ubuntu bu sorunun nasıl biliyorlar ve var onlar hemen hemen hiç Düğüm yazılmış herhangi bir yazılım kullanmak istiyorsanız.
- Sorun artık Ubuntu 14.04'te var gibi görünmüyor; Node'u temizledim ve bir çalıştırdım
apt-get install nodejs
ve /usr/bin/node
bir sembolik bağlantı oluşturdu /etc/alternatives/node
. Bu sorundan etkilenen insanlar, sanırım, küçülen bir azınlık.
Node okuma yazma bilmeyen kişileri hedefliyor olsanız bile #!/usr/bin/env node
, muhtemelen manuel sembolik bağlantı oluşturma veya nodejs-legacy
paketin kurulumunu gerekli görürseniz kurulum belgelerinize eklemeye yönelik olası ihtiyacı da kullanmak isteyebilirsiniz . Yukarıdaki shebang'ı olan nodejs
ancak node
mevcut olmayan biri programınızı çalıştırmaya çalışırsa şunu görecektir:
/ usr / bin / env: node: Böyle bir dosya veya dizin yok
ve o Googling onlara ilk sayfadaki ilk sonuç düzeltme ve birçok kez verecektir.
Kullanıcının yazılımınızı nodejs
mevcut olan ancak bulunmayan node
(veya node
aslında Amatör Paket Radyo Düğümü programının bulunduğu ) bir sistemde gerçekten, umutsuzca çalıştırmasını istiyorsanız , o zaman alınan bu "iki satırlı shebang" ı kullanabilirsiniz. dan Unix & Linux Stack Borsası :
#!/bin/sh
':' //; exec "$(command -v nodejs || command -v node)" "$0" "$@"
console.log('Hello world!');
ama Düğüm dünyasında neredeyse hiç kimse olmadığında bunu gerçekten yapmanız gerekiyor mu?