Birden çok ortamda çalışacak node.js için bir komut dosyası oluşturmaya çalışıyorum. Özellikle benim için OS X ve Ubuntu arasında gidip geliyorum. Eskide, Node node
olarak yüklenir, ancak ikincisindeyse nodejs
'dur. Senaryomun üstünde, ben sahip olabilir:Node.js komut dosyaları için uygun sağlama
#!/usr/bin/env node
veya
#!/usr/bin/env nodejs
düğüm ziyade yüklü olarak ben daha çok senaryo sürece her iki ortam için bir yürütülebilir olarak çalıştırmak olurdu
birine sahip veya diğeri komutu belirtmek zorundadır (./script-name.js
ve node script-name.js
).
Node.js için her iki durumda da uyumlu bir yedek sağlama veya herhangi biri için uygun bir yol belirtmenin bir yolu var mı? senaryonuz Düğümü geliştiriciler tarafından kullanılmak üzere tasarlanmıştır ise
Senaryonuzu çağırmak için bir sarmalayıcı kabuk betiği yapabilirsin, bu, düğümün nerede yaşadığını ve neyin çağrıldığını bulmaya çalışır. – Doon
Unix sitesinde bu cevapta çok sayıda öneri - http://unix.stackexchange.com/questions/65235/universal-node-js-shebang – sargant
'#!/Usr/bin'den değiştirdiğim bir nodejs komut dosyası var Ubuntu 12.04'ten 12.10'a yükselttiğimde/node' - '#!/usr/bin/nodejs'. Ve her ikisini de kontrol eden bir paketleyiciden çağrıldı. '#!/Usr/bin/env' hack'inin tartışılması için, [bu soru] 'na (http://unix.stackexchange.com/q/29608/10454) ve [yanıtıma] bakın (http: // unix. stackexchange.com/questions/29608/why-is-it-better-to-use-usr-bin-env-name-instead-of-path-to-name-as-my/29620#29620). –