update-alternatives
優先順位システムがどのように機能するかを文書から理解できません。
Nodejsアプリケーションが何よりもハムラジオ番組を指すよう/usr/bin/node
にしたいとしましょう。私は言わなければならない:nodejs
node
update-alternatives --install /usr/bin/node nodejs /usr/bin/nodejs 100 --slave /usr/share/man/...
2つの異なるプログラムがあるとしましょう/usr/bin/node
。最初はNodejs、2番目はアマチュアラジオです。どのようなものを使用するかをどのように決定しますか?
この過程で優先順位はどのような役割を果たしますか?
追加された:npm
nodejsパッケージマネージャはnodejsコマンドを呼び出す必要があるので、node
nodejsをnode
。
ベストアンサー1
ここで交換システムがすることを誤解しているようです。同様のタイプの代替プログラムを使用する簡単な方法を提供するために使用されます。マニュアルページの一般的な例は、エディタを使用することです。
たとえば、テキストエディタed(1)とnvi(1)の両方がシステムにインストールされている場合、代替システムでは、一般名/usr/bin/editorが/usr/bin/nviにデフォルト値に設定されます。
あなたの場合は、node
完全に異なる2つのアプリケーションを表します。
どちらもメイン Debian リポジトリからインストールできる場合は、パッケージマネージャの 1 つが他のパッケージと競合しないように実行可能ファイルの名前を指定した可能性があります。たとえば、Node.js/usr/bin/node_radio
と競合しないようにラジオアプリケーションバイナリの名前を変更できます。/usr/bin/node
一方、アマチュアラジオを直接コンパイルする場合は、同じnode
名前のバイナリが生成されないようにコンパイルを変更するか、別のパスにインストールされていることを確認する必要があります。コマンドプロンプトでコマンドを入力したときに実行されるコマンドは、変数の検索順序によって異なります/usr/local/bin/node
。もしnode
$PATH
間違った1つを実行した後にそれを実行するには、フルパスを入力する必要があります/usr/local/bin/node
。
とにかくupdate-alternatives
ここでは役に立ちません。
上記のすべては、アマチュアラジオが実行可能ファイルとしてインストールされたことを示すリンクが続くクイックapt-get download node
チェックのような例にすぎません。 Node.jsがインストールされているため、両方が競合しません。dpkg --contents node_0.3.2-7.4_all.deb
node
/usr/sbin/ax25-node
/usr/sbin/node
/usr/bin/nodejs