GNU/Linux >> Znalost Linux >  >> Linux

Jak přepínat mezi různými verzemi příkazů v Linuxu

Před pár dny jsme diskutovali o tom, jak přepínat mezi více verzemi PHP . V této metodě jsme použili 'alternativy aktualizace' příkaz pro přechod z jedné verze PHP na druhou. To znamená, že příkazy update-alternatives vám pomohou nastavit, kterou systémovou verzi PHP chcete standardně používat. Laicky řečeno, můžete změnit verzi příkazového systému v celém systému pomocí příkazu 'update-alternatives'. Co když chcete dynamicky měnit verze příkazů v závislosti na adresáři, ve kterém se nacházíte? Zde je 'alt' utilita přichází na pomoc. Alt je nástroj příkazového řádku, který vám pomáhá přepínat mezi různými verzemi příkazů v systémech podobných Unixu. Je to jednoduchý, bezplatný, open source nástroj napsaný v Rust programovací jazyk.

Instalace

Instalace alt utility je triviální.

Chcete-li nainstalovat alt na váš počítač se systémem Linux, stačí spustit následující příkaz:

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

Dále přidejte adresář shims do své proměnné prostředí PATH v závislosti na SHELL, který používáte.

Pro BASH :

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

Pro ZSH :

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

Pro RYBY :

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

Alt je nainstalován!

Přepínání mezi různými verzemi příkazů pomocí nástroje Alt v Linuxu

Jak jsem již zmínil, alt pracuje s aktuálním adresářem. To znamená, že když přecházíte z jedné verze na druhou, děláte to pouze pro aktuální pracovní adresář, nikoli pro celý systém.

Podívejme se na příklad. Nainstaloval jsem do svého systému Ubuntu dvě verze PHP, PHP 5.6 a PHP 7.2, a mám nějaké aplikace PHP v adresáři s názvem 'myproject' .

Nejprve se podívejme na globálně nainstalovanou verzi PHP pomocí příkazu:

$ php -v

Ukázkový výstup:

Jak vidíte na výše uvedeném snímku obrazovky, moje výchozí verze pro celý systém je PHP7.2.

Dále se dostanu do adresáře "myproject", kde mám uloženy své PHP aplikace.

$ cd myproject

Prohledejte dostupné verze PHP pomocí následujícího příkazu:

$ alt scan php

Ukázkový výstup:

Jak můžete vidět, mám dvě verze PHP, PHP5.6 a PHP7.2. Nyní stiskněte pro výběr všech dostupných verzí. Po výběru všech dostupných verzí uvidíte za každou verzí křížek, jak je znázorněno na obrázku níže. Mezi verzemi se můžete pohybovat pomocí šipek NAHORU/DOLŮ. Nakonec stiskněte ENTER pro uložení změn.

Poté spusťte následující příkaz a vyberte verzi PHP, kterou chcete použít v adresáři 'myproject':

$ alt use php

Budu používat verzi PHP5.6, tak jsem ji vybral (pro výběr použijte klávesy se šipkami) a zmáčkl klávesu ENTER.

Přepínání mezi různými verzemi příkazů v Linuxu

Nyní můžete používat php 5.6 (/usr/bin/php5.6) v adresáři /home/sk/myproject.

Pojďme zkontrolovat, zda je PHP5.6 nastaveno jako výchozí v adresáři myproject:

$ php -v

Ukázkový výstup:

Zůstane jako verze 5.6, dokud nezměníte na jinou verzi. Mám to? Dobře!

Upozorňujeme, že verzi php5.6 používáme pouze v tomto adresáři. Na systémové úrovni je PHP7.2 stále výchozí verzí. Podívejte se na následující obrázek.

Jak můžete vidět na výše uvedeném snímku obrazovky,  mám dvě různé verze PHP. V adresáři 'myproject' mám PHP5.6 a mimo myproject je verze PHP 7.2.

Podobně můžete v každém adresáři nastavit libovolnou verzi dle vašeho výběru. Pro účely demonstrace jsem použil PHP. Můžete však použít jakýkoli software podle svého výběru, například NodeJS.

Zde je ukázkové video pro NodeJS.

Nástroj alt může být užitečný, když chcete své aplikace otestovat pod různými verzemi aplikací.


Linux
  1. Jak zkontrolovat verzi Redhat

  2. Jak skrýt verzi PHP v Linuxu

  3. Linux – Jak přepínat mezi relací Tty a Xorg?

  1. Jak přepnout verzi PHP

  2. Jak si mohu pro svůj web vybrat jinou verzi PHP?

  3. Jak upgradovat verzi PHP na PHP 8.0 na Ubuntu

  1. Jak nainstalovat / přepínat mezi více verzemi Java pomocí SDKMAN

  2. jak ar x název_souboru.a do jiného adresáře

  3. Jak yum aktualizovat PHP na verzi 5.4 na Amazon Linux?