歡迎光臨
每天分享高質量文章

如何在 Linux 中切換相同程式的不同版本 | Linux 中國

alt 是一個命令列工具,可以讓你在類 Unix 系統中切換相同程式的不同版本。
— Sk


致謝
編譯自 | 
https://www.ostechnix.com/how-to-switch-between-different-versions-of-commands-in-linux/

 作者 | Sk
 譯者 | Andy Song (pinewall) ????共計翻譯:31 篇 貢獻時間:149 天

幾天前,我們曾經討論如何如何在不同的 PHP 版本之間進行切換[1]。在那篇文章中,我們使用 update-alternatives 命令實現從一個 PHP 版本切換到另一個 PHP 版本。也就是說,update-alternatives 命令可以將系統範圍system wide預設使用的 PHP 版本設定為我們希望的版本。通俗的來說,你可以透過 update-alternatives 命令從系統範圍設定程式的版本。如果你希望可以在不同目錄動態設定不同的程式版本,該如何完成呢?在這種情況下,alt工具可以大顯身手。alt 是一個命令列工具,可以讓你在類 Unix 系統中切換相同程式的不同版本。該工具簡單易用,是 Rust 語言編寫的自由、開源軟體。

安裝

安裝 alt 工具十分簡單。

執行如下命令,即可在 Linux 主機上安裝 alt

$ curl -sL https://github.com/dotboris/alt/raw/master/install.sh | bash -s

下一步,將 shims 目錄新增到你的 PATH 環境變數中,具體操作取決於你使用的 Shell。

對於 Bash:

$ echo 'export PATH="$HOME/.local/alt/shims:$PATH"' >> ~/.bashrc
$ source ~/.bashrc

對於 Zsh:

$ echo 'export PATH="$HOME/.local/alt/shims:$PATH"' >> ~/.zshrc
$ source ~/.zshrc

對於 Fish:

$ echo 'set -x PATH "$HOME/.local/alt/shims" $PATH' >> ~/.config/fish/config.fish

現在 alt 已經安裝完畢!

使用 alt 工具在 Linux 系統中切換相同程式的不同版本

如我之前所述,alt 隻影響當前目錄。換句話說,當你進行版本切換時,只在當前目錄生效,而不是整個系統範圍。

下麵舉例說明。我在我的 Ubuntu 系統中安裝了兩個版本的 PHP,分別為 PHP 5.6 和 PHP 7.2;另外,在 myproject 目錄中包含一些 PHP 應用。

首先,透過命令檢視系統範圍預設的 PHP 版本:

$ php -v

示例輸出:

查詢 PHP 版本

如截圖中所示,我係統中預設的 PHP 版本為 PHP 7.2。

然後,我將進入放置 PHP 應用的 myproject 目錄。

$ cd myproject

使用如下命令掃描可用的 PHP 版本:

$ alt scan php

示例輸出:

掃描 PHP 版本

可見,我有兩個 PHP 版本,即 PHP 5.6 和 PHP 7.2。按下  鍵選中當前可用的版本。選中全部可用版本後,你可以看到圖中所示的叉號cross mark。使用上下方向鍵在版本間移動,點選回車即可儲存變更。

選取 PHP 版本

下麵執行該命令並選取我們希望在 myproject 目錄中使用的 PHP 版本:

$ alt use php

我希望使用 PHP5.6 版本,故我(使用方向鍵)選取該版本並點選回車鍵。

設定 PHP 版本

現在,你可以在 /home/sk/myproject 目錄下使用 PHP 5.6 版本啦。

讓我們檢查一下,在 myproject 目錄下是否預設使用 PHP 5.6 版本:

$ php -v

示例輸出:

檢查 PHP 版本

只要你不設定成其它版本,(在該目錄下)將一直使用 PHP 5.6 版本。清楚了嗎?很好!請註意,我們僅在這個目錄下使用 PHP 5.6 版本。在系統範圍內(LCTT 譯註:當然是沒單獨設定過其它版本的目錄下),PHP 7.2 仍是預設的版本。讓我們檢驗一下,請看下圖。

比對 PHP 版本

從上面的截圖中可以看出,我有兩個版本的 PHP:在 myproject 目錄下,使用的版本為 PHP 5.6;在 myproject 外的其它目錄,使用的版本為 PHP 7.2。

同理,你可以為每個目錄設定你希望的程式版本。我這裡使用 PHP 僅用於說明操作,但方法適用於任何你打算使用的軟體,例如 NodeJS 等。

下麵是 NodeJS 的示例影片。

如果你希望在不同軟體包版本下測試你的應用,那麼 alt 是你不錯的選擇。

本次分享到此結束。後續還有更多內容,敬請期待!

乾杯!


via: https://www.ostechnix.com/how-to-switch-between-different-versions-of-commands-in-linux/

作者:SK[3] 選題:lujun9972 譯者:pinewall 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

贊(0)

分享創造快樂