「update-alternatives」を使用して同じアプリの複数のインストール済みバージョンを管理する方法

「update-alternatives」を使用して同じアプリの複数のインストール済みバージョンを管理する方法

アプリをコンパイルまたは実行しているときに、パス関連の問題に頻繁に遭遇します。ノード私のシステムでは、1つは公式リポジトリから、もう1つはソースから手動でインストールされています。今日はコンパイルしたいのですが括弧を実行すると、npm install1.4.20などの新しいバージョンを使用するように求められます。デフォルトのバージョンは ですが、/usr/bin/npm動作しませんでした。手動でインストールしたものは です。/usr/local/bin/npm

または別の方法/usr/local/bin/npmを使用してデフォルトのパスを作成する方法はありますか ?update-alternatives

たとえば、デフォルトのテキストエディタを設定するには、

    sudo update-alternatives --config editor

答え1

やり方が分かりました。まず、 npm古いバージョン(1.3.10)のデフォルトパスを調べたところ/usr/bin/npm、シンボリックリンクであることが分かりました /usr/share/npm/bin/npm-cli.js

    sudo unlink /usr/bin/npm

次に、次のコマンドを試しました

   sudo update-alternatives --install /usr/bin/npm  npm /usr/local/bin/npm 10
   sudo update-alternatives --install /usr/bin/npm  npm /usr/share/npm/bin/npm-cli.js 20

今では、

  sudo update-alternatives --config npm      

うまく機能する

答え2

あなたが言ったようにノード、これは良い機会なので、NodeJS 用の N インストール マネージャーこのような「高レベル」のパッケージマネージャが利用できる場合は、通常、それを使用します。更新代替案一般的に、重要なファイルを自分で追跡するよりも簡単だと思います。そうは言っても、更新代替案引き続き動作します。

関連情報