几天前,我们曾经讨论如何 如何在不同的 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。按下 <空格>
键选中当前可用的版本。选中全部可用版本后,你可以看到图中所示的 叉号 。使用上下方向键在版本间移动,点击回车即可保存变更。
下面运行该命令并选取我们希望在 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 中如何切换相同程序的不同版本,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新动态
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]