几天前,我们曾经讨论如何 如何在不同的 PHP 版本之间进行切换 。在那篇文章中,我们使用 update-alternatives 命令实现从一个 PHP 版本切换到另一个 PHP 版本。也就是说, update-alternatives 命令可以将 系统范围 默认使用的 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 7.2。
然后,我将进入放置 PHP 应用的 myproject 目录。
| $ cd myproject |
使用如下命令扫描可用的 PHP 版本:
| $ alt scan php |
示例输出:

可见,我有两个 PHP 版本,即 PHP 5.6 和 PHP 7.2。按下 <空格> 键选中当前可用的版本。选中全部可用版本后,你可以看到图中所示的








