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/nodebir 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-legacyBü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 nodejsve /usr/bin/nodebir 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-legacypaketin kurulumunu gerekli görürseniz kurulum belgelerinize eklemeye yönelik olası ihtiyacı da kullanmak isteyebilirsiniz . Yukarıdaki shebang'ı olan nodejsancak nodemevcut 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ı nodejsmevcut olan ancak bulunmayan node(veya nodeaslı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?