Как переключаться между разными версиями команд в Linux
Пару дней назад мы обсуждали, как переключаться между несколькими версиями PHP. В этом методе мы использовали команду 'update-alternatives' для переключения с одной версии PHP на другую. Это означает, что команды update-alternatives помогут вам установить общесистемную версию PHP, которую вы хотите использовать по умолчанию. Проще говоря, вы можете изменить версию всей системы команд с помощью команды update-alternatives. Что делать, если вы хотите динамически менять версии команд в зависимости от того, в каком каталоге вы находитесь? Здесь на помощь приходит утилита 'alt'. Alt — это инструмент командной строки, который помогает вам переключаться между различными версиями команд в Unix-подобных системах. Это простой, бесплатный инструмент с открытым исходным кодом, написанный на языке программирования Rust.
Монтаж
Установка утилиты alt тривиальна.
Чтобы установить alt на свой компьютер с Linux, просто выполните следующую команду:
curl -sL https://github.com/dotboris/alt/raw/master/install.sh | bash -s
Затем добавьте каталог shims в переменную среды PATH в зависимости от используемой вами оболочки.
Для BASH:
echo 'export PATH="$HOME/.local/alt/shims:$PATH"' >> ~/.bashrc
source ~/.bashrc
Для ZSH:
echo 'export PATH="$HOME/.local/alt/shims:$PATH"' >> ~/.zshrc
source ~/.zshrc
Для РЫБЫ:
echo 'set -x PATH "$HOME/.local/alt/shims" $PATH' >> ~/.config/fish/config.fish
Альт установлен!
Переключение между различными версиями команд с помощью инструмента Alt в Linux
Как я упоминал ранее, alt работает с текущим каталогом. Это означает, что когда вы переключаетесь с одной версии на другую, вы делаете это только для текущего рабочего каталога, а не для всей системы.
Давайте посмотрим пример. В моей системе Ubuntu я установил две версии PHP: PHP 5.6 и PHP 7.2 соответственно, и у меня есть несколько приложений PHP в каталоге под названием 'myproject'.
Сначала давайте посмотрим глобально установленную версию PHP с помощью команды:
php -v
Пример вывода:
Как вы видите на скриншоте выше, моя общесистемная версия по умолчанию — PHP7.2.
Затем я перехожу в каталог «myproject», где хранятся мои PHP-приложения.
cd myproject
Сканируйте доступные версии PHP с помощью следующей команды:
alt scan php
Пример вывода:
Как видите, у меня есть две версии PHP: PHP5.6 и PHP7.2. Теперь нажмите клавишу <ПРОБЕЛ>, чтобы выбрать все доступные версии. После выбора всех доступных версий вы увидите крестик позади каждой версии, как показано на рисунке ниже. Используйте стрелки ВВЕРХ/ВНИЗ для перемещения между версиями. Наконец нажмите ENTER, чтобы сохранить изменения.
Затем выполните следующую команду, чтобы выбрать, какую версию PHP вы хотите использовать в каталоге myproject:
alt use php
Я собираюсь использовать версию PHP5.6, поэтому я выбрал ее (для выбора используйте клавиши со стрелками) и нажмите клавишу ENTER.
Переключение между различными версиями команд в Linux
Теперь вы можете использовать PHP 5.6 (/usr/bin/php5.6), находясь в каталоге /home/sk/myproject.
Давайте проверим, установлен ли PHP5.6 по умолчанию в каталоге myproject:
php -v
Пример вывода:
Она останется версией 5.6, пока вы не перейдете на другую версию. Понятно? Хороший!
Обратите внимание, что мы используем версию php5.6 только внутри этого каталога. На системном уровне PHP7.2 по-прежнему является версией по умолчанию. Посмотрите на следующее изображение.
Как вы можете видеть на скриншоте выше, у меня две разные версии PHP. Внутри каталога «myproject» у меня есть PHP5.6, а за пределами моего проекта — версия PHP 7.2.
Точно так же вы можете установить любую версию по вашему выбору в каждом каталоге. Я использовал PHP для демонстрационных целей. Однако вы можете использовать любое программное обеспечение по вашему выбору, например NodeJS.
Вот демонстрационное видео для NodeJS.
Утилита alt может быть полезна, если вы хотите протестировать свои приложения под разными версиями приложений.
Ресурс:
- Альтернативный репозиторий GitHub