如何使用“update-alternatives”來管理相同應用程式的多個已安裝版本

如何使用“update-alternatives”來管理相同應用程式的多個已安裝版本

我在編譯或運行應用程式時經常遇到與路徑相關的問題。節點在我的系統中,一個來自官方倉庫,另一個從原始碼手動安裝。今天我想編譯括號,當我運行時npm install它要求我使用更高版本,例如 1.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 安裝管理器。如果我有一個像這樣的“更高級別”的套件管理器,我通常會使用它更新替代方案。在我看來,這通常比嘗試自己追蹤重要文件要簡單。話雖這麼說,我認為更新替代方案仍然會工作。

相關內容