Linux 中如何切换相同程序的不同版本

 更新时间:2018年08月23日 10:55:30   作者:Andy Song  
这篇文章主要介绍了 Linux 中如何切换相同程序的不同版本,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

几天前,我们曾经讨论如何 如何在不同的 PHP 版本之间进行切换 。在那篇文章中,我们使用 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 7.2。

然后,我将进入放置 PHP 应用的 myproject 目录。

$ cd myproject

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

$ alt scan php

示例输出:

可见,我有两个 PHP 版本,即 PHP 5.6 和 PHP 7.2。按下 <空格> 键选中当前可用的版本。选中全部可用版本后,你可以看到图中所示的 叉号 cross mark 。使用上下方向键在版本间移动,点击回车即可保存变更。

下面运行该命令并选取我们希望在 myproject 目录中使用的 PHP 版本:

$ alt use php

我希望使用 PHP5.6 版本,故我(使用方向键)选取该版本并点击回车键。

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

让我们检查一下,在 myproject 目录下是否默认使用 PHP 5.6 版本:

$ php -v

示例输出:

只要你不设置成其它版本,(在该目录下)将一直使用 PHP 5.6 版本。清楚了吗?很好!请注意,我们仅在这个目录下使用 PHP 5.6 版本。在系统范围内(LCTT 译注:当然是没单独设置过其它版本的目录下),PHP 7.2 仍是默认的版本。让我们检验一下,请看下图。

从上面的截图中可以看出,我有两个版本的 PHP:在 myproject 目录下,使用的版本为 PHP 5.6;在 myproject 外的其它目录,使用的版本为 PHP 7.2。

同理,你可以为每个目录设置你希望的程序版本。我这里使用 PHP 仅用于说明操作,但方法适用于任何你打算使用的软件,例如 NodeJS 等。

下面是 NodeJS 的示例视频。

如果你希望在不同软件包版本下测试你的应用,那么 alt 是你不错的选择。

PS:下面看下linux 不同java版本之间的切换

最近因为经常要使用jdk7和jdk8 所以需要手动切换jdk

在同时安装好jdk7和jdk8后 终端输入

$ sudo update-alternatives --config java
$ sudo update-alternatives --config javac

总结

以上所述是小编给大家介绍的Linux 中如何切换相同程序的不同版本,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Linux常用硬盘管理相关命令介绍

    Linux常用硬盘管理相关命令介绍

    大家好,本篇文章主要讲的是Linux常用硬盘管理相关命令介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下哦,方便下次浏览
    2021-12-12
  • Linux磁盘配额管理图文案例

    Linux磁盘配额管理图文案例

    在本篇文章里小编给各位分享了关于Linux磁盘配额管理的相关图文案例内容,有需要的朋友们可以学习下。
    2019-08-08
  • linux下统计appche站点IP访问量的shell脚本

    linux下统计appche站点IP访问量的shell脚本

    这篇文章主要介绍了linux下统计appche站点IP访问量的几种shell脚本以及执行结果
    2014-06-06
  • Linux 4.0 不再需要重启

    Linux 4.0 不再需要重启

    在大多数的服务器或者数据中心里,喜欢用linux的一个原因是你不需要频繁的进行重启操作。诚然,某些关键性的补丁必须要进行重启,但你也可以等到数月后再做此操作。现在,得益于 linux 内核的最新更新 你也许可以数年间都不用重启。
    2015-03-03
  • 使用VSCode和SSH进行远程开发

    使用VSCode和SSH进行远程开发

    这篇文章主要介绍了使用VSCode和SSH进行远程开发,文中通过图文以及示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • 在Linux中查看所有正在运行的进程的方法

    在Linux中查看所有正在运行的进程的方法

    这篇文章主要介绍了在Linux中查看所有正在运行的进程的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Linux(CentOS7)安装Tomcat与设置Tomcat为开机启动项(tomcat8为例)

    Linux(CentOS7)安装Tomcat与设置Tomcat为开机启动项(tomcat8为例)

    本文以tomcat8为例给大家介绍Linux(CentOS7)安装Tomcat与设置Tomcat为开机启动项,非常不错,需要的朋友参考下
    2019-10-10
  • .htaccess文件使用教程总结

    .htaccess文件使用教程总结

    .htaccess是一个站点管理员可以应用的强大工具,有更多的变化以适应不同的用途,可以节约时间及提高网站的安全性
    2008-06-06
  • 阿里云申请云盾免费SSL证书(https)

    阿里云申请云盾免费SSL证书(https)

    这篇文章主要介绍了阿里云申请云盾免费SSL证书(https),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • CentOS7下安装yum源及上传下载命令rz、sz安装方法(图解)

    CentOS7下安装yum源及上传下载命令rz、sz安装方法(图解)

    这篇文章主要介绍了CentOS7下安装yum源及上传下载命令rz、sz安装方法,本文通过图文并茂的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11

最新评论