当前位置: 首页 > 科技观察

如何在Linux中切换同一个程序的不同版本

时间:2023-03-18 14:45:33 科技观察

前几天,我们讨论了如何在不同的PHP版本之间切换。在那篇文章中,我们使用update-alternatives命令从一个PHP版本切换到另一个。也就是说,update-alternatives命令可以将系统范围的默认PHP版本设置为我们想要的版本。通俗地说,您可以使用update-alternatives命令在系统范围内设置程序的版本。如果要在不同的目录下动态设置不同的程序版本,怎么办?这就是alt工具派上用场的地方。alt是一个命令行工具,允许您在类Unix系统上的同一程序的不同版本之间切换。该工具易于使用,是用Rust语言编写的免费开源软件。安装安装alt工具非常简单。运行以下命令在Linux主机上安装alt:$curl-sLhttps://github.com/dotboris/alt/raw/master/install.sh|bash-s接下来,将shims目录添加到你的PATH环境变量中,具体操作取决于你使用的shell。对于Bash:$echo'exportPATH="$HOME/.local/alt/shims:$PATH"'>>~/.bashrc$source~/.bashrc对于Zsh:$echo'exportPATH="$HOME/.local/alt/shims:$PATH"'>>~/.zshrc$source~/.zshrcForFish:$echo'set-xPATH"$HOME/.local/alt/shims"$PATH'>>~/.config/fish/config.fish现在已经安装好了!使用alt工具在Linux系统中切换同一程序的不同版本正如我前面提到的,alt只影响当前目录。也就是说,当你切换版本时,只对当前目录生效,而不是整个系统。下面举例说明。我的Ubuntu系统上安装了两个版本的PHP,PHP5.6和PHP7.2;此外,一些PHP应用程序包含在myproject目录中。首先,使用以下命令检查系统范围内的默认PHP版本:$php-v示例输出:如屏幕截图所示,我系统中的默认PHP版本是PHP7.2。然后,我将进入放置PHP应用程序的myproject目录。$cdmyproject使用以下命令扫描可用的PHP版本:$altscanphp示例输出:如您所见,我有两个PHP版本,PHP5.6和PHP7.2。按键突出显示当前可用的版本。选择所有可用版本后,您可以看到图中所示的十字标记。使用向上和向下箭头键在版本之间移动,然后按Enter键保存更改。让我们运行这个命令并在myproject目录中选择我们想要使用的PHP版本:$altusephp我想使用PHP5.6,所以我选择(使用箭头键)该版本并按回车键。现在,您可以在/home/sk/myproject目录中使用PHP5.6版本。让我们检查一下myproject目录中是否默认使用PHP5.6:$php-v示例输出:只要您不将其设置为其他版本,将始终使用(在此目录中)PHP5.6。理解?非常好!请注意,我们在此目录中仅使用PHP5.6版本。System-wide(LCTT译注:当然是在没有单独设置其他版本的目录下),PHP7.2依然是默认版本。让我们检查一下,见下图。从上面的截图可以看出,我有两个版本的PHP:在myproject目录下,使用的版本是PHP5.6;在myproject之外的其他目录中,使用的版本是PHP7.2。同样的,你可以为每个目录设置你想要的程序版本。我在这里使用PHP只是为了说明操作,但是该方法适用于您打算使用的任何软件,例如NodeJS等。下面是NodeJS的示例视频。如果你想针对不同的包版本测试你的应用程序,那么alt是一个不错的选择。本次分享到此结束。后续会有更多内容,敬请期待!