スクリプトがノード開発者による使用を目的としている場合は、絶対に使用する必要があります
#!/usr/bin/env node
Nodeをとしてインストールしているだけの人との互換性を気にしないでくださいnodejs
。
理論的根拠:
- それはクールな子供たちがしていることです、そしてあなたもそれをしなければ、あなたはクールではありません。主なノードのようなプロジェクトjshint、カルマ、バウアーでも、およびNPMは、単に使用し
#!/usr/bin/env node
、実行可能スクリプトのシェバングとして。
- かっこいい子供たちがやっているので、UbuntuでNodeを使用する人は誰でも
/usr/bin/node
、へのシンボリックリンクとしてを設定していnodejs
ます。Stack Overflowやウェブ全体で、これを行うための非常によく見られる手順があります。nodejs-legacy
このシンボリックリンクを作成することを目的としたパッケージもありました。Nodeを使用する人々は、Ubuntuでこの問題を修正する方法を知っており、Nodeで作成されたほとんどすべてのソフトウェアを使用したい場合は修正する必要があります。
- この問題は、Ubuntu14.04にはもう存在しないようです。Nodeを削除して実行する
apt-get install nodejs
と/usr/bin/node
、へのシンボリックリンクとして作成されました/etc/alternatives/node
。この問題に苦しんでいる人々は、私が思うに、縮小している少数派です。
ノードの#!/usr/bin/env node
知識がない人をターゲットにしている場合でも、必要に応じて、手動でシンボリックリンクを作成したり、nodejs-legacy
パッケージをインストールドキュメントにインストールしたりする必要がある可能性を追加して、使用することをお勧めします。利用できnodejs
ないがnode
利用できない誰かが上記のシバンでプログラムを実行しようとすると、次のように表示されることに注意してください。
/ usr / bin / env:ノード:そのようなファイルまたはディレクトリはありません
そしてグーグルは彼らに最初の結果と最初のページで何度も修正を与えるでしょう。
本当に、ユーザーnodejs
が利用可能であるが利用できnode
ないシステム(またはnode
実際にはアマチュアパケット無線ノードプログラムがあるシステム)でソフトウェアを実行できることを必死に確認したい場合は、この「2行のシバン」を使用できます。以下からのUnixとLinuxスタック交換:
#!/bin/sh
':' //; exec "$(command -v nodejs || command -v node)" "$0" "$@"
console.log('Hello world!');
しかし、ノードの世界で他にほとんど誰もいないときに、本当にこれを行う必要がありますか?