Как установить Perlbrew и управлять несколькими версиями Perl 5 в CentOS 7

Вступление

Perl 5 - зрелый полнофункциональный язык программирования. Он используется в производственных проектах всех типов, включая критически важные бизнес-системы по всему миру. Программный пакетPerlbrew позволяет устанавливать, удалять и переключаться между версиями языка программирования Perl 5.

Perlbrew устанавливает Perl в ваш домашний каталог, и каждая версия Perl, которую вы устанавливаете, не зависит от других. Это позволяет вам тестировать ваш код на нескольких версиях Perl, не влияя и не подвергаясь влиянию любой другой версии. Это включает в себя стандартный Perl-пакет вашей операционной системы, который обычно намного старше, чем последняя стабильная версия.

В этом руководстве вы установите Perlbrew и будете использовать его для установки и тестирования версии Perl 5.

Предпосылки

Чтобы следовать этому руководству, вам понадобятся:

  • Один сервер CentOS 7, настроенный следующим образомthe CentOS 7 initial server setup guide, включая пользователя sudo без полномочий root и брандмауэр.

[[step-1 -–- install-perlbrew]] == Шаг 1. Установка Perlbrew

Перед установкой Perlbrew вам понадобится несколько обязательных пакетов. Perlbrew нуженgcc, компилятор, иbzip2, утилита сжатия, чтобы скомпилировать и установить Perl. Эти пакеты не установлены по умолчанию в CentOS 7, но если вы добавили несколько пакетов на свой сервер, возможно, у вас уже есть эти два пакета. Вы можете легко выяснить, что вам не хватает.

[.note] #Note: Номера версий пакетов, которые вы видите в следующих примерах, могут быть выше, чем показано в этом руководстве, поскольку в эти пакеты периодически вносятся изменения.
#

Для сборки Perl требуются два связанных с gcc пакета,libgcc иgcc. Чтобы проверить, есть ли у вас эти пакеты, выполните следующую команду:

rpm -qa | grep gcc

Если они установлены, вы увидите следующее:

Is the gcc package installed?libgcc-4.8.5-11.el7.x86_64
gcc-4.8.5-11.el7.x86_64

CentOS 7 по умолчанию включает только пакетlibgcc, поэтому вы можете установитьgcc с помощью следующей команды:

sudo yum install gcc

Вам также понадобятся пакетыbzip2-libs иbzip2. Убедитесь, что они также установлены:

rpm -qa | grep bzip2

Если они оба установлены, вы увидите следующее:

Is the bzip2 package installed?bzip2-libs-1.0.6-13.el7.x86_64
bzip2-1.0.6-13.el7.x86_64

По умолчанию CentOS 7 включает только пакетbzip2-libs. Добавьте пакетbzip2:

sudo yum install bzip2

Наконец, установите утилитуpatch.

sudo yum install patch

С необходимыми предпосылками вы можете установить Perlbrew. Загрузите установочный скрипт на свой сервер:

curl -L https://install.perlbrew.pl -o install.perlbrew.pl

Чтобы проверить содержимое скрипта перед его запуском, откройте его в текстовом редакторе и просмотрите его содержимое:

vi install.perlbrew.pl

Когда вы освоитесь с содержимым сценария,pipe сценарий кbash, чтобы запустить сценарий установки:

cat install.perlbrew.pl | bash

Это создаст новую структуру каталогов в/home/sammy/perl5, где Perlbrew будет хранить свои файлы поддержки и версии Perl. Вы увидите следующий вывод скрипта установки:

Output## Download the latest perlbrew

## Installing perlbrew
perlbrew is installed: ~/perl5/perlbrew/bin/perlbrew

perlbrew root (~/perl5/perlbrew) is initialized.

Append the following piece of code to the end of your ~/.bash_profile and start a
new shell, perlbrew should be up and fully functional from there:

    source ~/perl5/perlbrew/etc/bashrc

Simply run `perlbrew` for usage details.

Happy brewing!

## Installing patchperl

## Done.

Затем используйте утилитуperlbrew для создания некоторых файлов начальной конфигурации и каталогов в/home/sammy/perl5/perlbrew:

~/perl5/perlbrew/bin/perlbrew self-install

Вы увидите следующий вывод:

OutputYou are already running the installed perlbrew:
    /home/sammy/perl5/perlbrew/bin/perlbrew

Perlbrew теперь установлен, но вы захотите изменить файлы конфигурации вашей оболочки, чтобы упростить ее использование.

[[step-2 -–- editor-your-bash_profile-to-include-perlbrew]] == Шаг 2 - Редактирование.bash_profile для включения Perlbrew

Перед использованием Perlbrew для установки версии Perl вам следует отредактировать файл.bash_profile, чтобы он автоматически устанавливал некоторые важные переменные среды Perlbrew. Perlbrew упрощает это, включая необходимый код в другой файл конфигурации, который вы можете включить в свой.bash_profile.

Откройте файл~/.bash_profile в вашем редакторе:

vi ~/.bash_profile

Добавьте следующую строку внизу файла, чтобы включить настройки Perlbrew:

source ~/perl5/perlbrew/etc/bashrc

Сохраните файл и выйдите из редактора.

Затем выйдите из системы, а затем войдите снова, чтобы убедиться, что ваш файл.bash_profile загружает настройки Perlbrew. Теперь он добавит/home/sammy/perl5/perlbrew/bin в начало вашей переменной средыPATH и установит некоторые другие переменные среды, необходимые Perlbrew.

Убедитесь, что эти переменные среды были установлены, выполнив командуenv иfiltering the results with grep для текстаPERL:

env | grep PERL

Вы должны увидеть записи, подобные следующим:

OutputPERLBREW_BASHRC_VERSION=0.78
PERLBREW_ROOT=/home/sammy/perl5/perlbrew
PERLBREW_HOME=/home/sammy/.perlbrew

Эти переменные среды сообщают Perlbrew, где находятся важные каталоги. Номер версии может быть выше, если Perlbrew был пересмотрен после публикации этого урока.

При вводеwhich perlbrew теперь должен быть указан полный путь к командеperlbrew:

which perlbrew

Вы должны увидеть следующее в вашем терминале:

Expected Output~/perl5/perlbrew/bin/perlbrew

Теперь, когда Perlbrew установлен и настроен, давайте начнем его использовать.

[[step-3 -–- install-and-building-your-perl-version]] == Шаг 3 - Установка и сборка вашей версии Perl.

Давайте использовать Perlbrew для установки стабильной версии Perl 5. Используйте командуperlbrew, чтобы узнать, какие версии Perl доступны для установки:

perlbrew available

Вы увидите список, похожий на следующий частичный список:

Partial Listing  perl-5.25.11
  perl-5.24.1
  perl-5.22.3
  perl-5.20.3
  perl-5.18.4
  ...

Основные версии с нечетными номерами, такие какperl-5.25, находятся в стадии активной разработки и не считаются стабильными или готовыми к эксплуатации. Как правило, вы не будете использовать версии старше5.10.1, если у вас нет устаревшего кода, для которого требуется одна из этих более старых версий.

Согласно выходным данным,perl-5.24.1 - это самая последняя стабильная версия, так как у нее самый большой четный старший номер. Вы можете выбрать любую версию Perl из списка, но для этого урока мы установимperl-5.24.1.

Установите его с помощьюperlbrew install:

perlbrew install perl-5.24.1

Для сборки и установки Perl может потребоваться довольно много времени, обычно около 20 минут. Не прерывайте процесс сборки. Если вы хотите видеть прогресс сборки, вы можете открыть отдельный сеанс терминала и отслеживать журнал сборки с помощьюtail -f ~/perl5/perlbrew/build.perl-5.24.1.log.

После завершения сборки вы увидите следующий вывод Perlbrew:

Output perl-5.24.1 is successfully installed.

Когда сборка завершится, последняя строка файла журнала сборки будет:

Output
##### Brew Finished #####

Вы можете повторить этот процесс для каждой версии Perl, которую вы хотите установить. В этом руководстве демонстрируется установка только одной версии, но этот шаг можно повторить для любого количества версий.

Далее давайте рассмотрим, как использовать Perlbrew для работы с несколькими версиями Perl.

[[step-4 -–- management-your-new-perl-installation]] == Шаг 4. Управление новой установкой Perl

На данный момент в вашей системе есть две версии Perl: версия поставщика, поставляемая с операционной системой, и версия Perl, которую вы только что установили в каталог~/perl5 с Perlbrew.

Чтобы использовать новую установку Perl, выполните следующую команду:

perlbrew use perl-5.24.1

Эта команда обновляет переменную средыPERLBREW_PERL, чтобы указать на указанную версию Perl для текущего сеанса входа в систему.

Если вы хотите, чтобы версия Perl использовалась по умолчанию при каждом входе в систему, выполните эту команду:

perlbrew switch perl-5.24.1

Эта команда устанавливает переменную средыPERLBREW_PERL так, чтобы она указывала на указанную версию Perl при каждом входе в систему.

Убедитесь, что вы используете Perl 5.24.1:

perl -V

Вы должны увидеть следующий вывод:

Parial Output...
%ENV:
    PERLBREW_BASHRC_VERSION="0.78"
    PERLBREW_HOME="/home/sammy/.perlbrew"
    PERLBREW_MANPATH="/home/sammy/perl5/perlbrew/perls/perl-5.24.1/man"
    PERLBREW_PATH="/home/sammy/perl5/perlbrew/bin:/home/sammy/perl5/perlbrew/perls/perl-5.24.1/bin"
    PERLBREW_PERL="perl-5.24.1"
    PERLBREW_ROOT="/home/sammy/perl5/perlbrew"
    PERLBREW_VERSION="0.78"
@INC:
    /home/sammy/perl5/perlbrew/perls/perl-5.24.1/lib/site_perl/5.24.1/x86_64-linux
    /home/sammy/perl5/perlbrew/perls/perl-5.24.1/lib/site_perl/5.24.1
    /home/sammy/perl5/perlbrew/perls/perl-5.24.1/lib/5.24.1/x86_64-linux
    /home/sammy/perl5/perlbrew/perls/perl-5.24.1/lib/5.24.1
    .

Perlbrew устанавливает только основной код Perl. Чтобы увидеть, какие модули составляют ядро ​​для конкретной версии Perl, выполните эту команду:

corelist -v 5.24.1

В любое время после использования командperlbrew use илиperlbrew switch вы можете вернуться к использованию версии Perl от поставщика с помощью командыperlbrew off. Если вы использовалиperlbrew switch для установки нового Perl по умолчанию, вы можете удалить эту настройку по умолчанию с помощьюperlbrew switch-off.

Командаperlbrew, запущенная без флагов, генерирует простой список полезных команд. Командаperlbrew help генерирует более подробную справочную информацию.

Давайте установим несколько дополнительных модулей Perl.

[[step-5 -–- testing-your-perl-installation-by-install-modules-from-cpan]] == Шаг 5. Тестирование вашей установки Perl путем установки модулей из CPAN

Perl предоставляет широкий спектр модулей открытого кода, расширяющих базовый язык. Эти модули хранятся в всеобъемлющей сети архивов Perl (CPAN). Код, который вы собираетесь писать, может быть уже написан, протестирован и доступен на CPAN. Вы можете использоватьCPAN repository, чтобы не изобретать колесо заново.

App::cpanminus - это модуль Perl, который позволяет вам исследовать репозиторий CPAN и загружать модули. Это популярный и простой в использовании. Давайте установим этот модуль и используем его для тестирования вашей новой установки Perl.

Убедитесь, что вы используете новую установку Perl:

perlbrew use perl-5.24.1

Установите модуль cpanminus с:

curl -L https://cpanmin.us | perl - App::cpanminus

Вы увидите следующий вывод:

Output--> Working on App::cpanminus
Fetching http://www.cpan.org/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7043.tar.gz ... OK
Configuring App-cpanminus-1.7043 ... OK
Building and testing App-cpanminus-1.7043 ... OK
Successfully installed App-cpanminus-1.7043
1 distribution installed

Убедитесь, что модуль cpanminus теперь присутствует:

perlbrew list-modules

Вы должны увидетьApp::cpanimus в выводе:

OutputApp::cpanminus
Perl

Теперь вы можете использовать утилиту командной строкиcpanm для установки дополнительных модулей и их зависимостей. Давайте воспользуемся им для установки модуляEmail::Simple, который вам понадобится, если вы пишете код Perl для отправки сообщений электронной почты.

cpanm Email::Simple

Когда установка будет завершена, просмотрите список модулей еще раз:

perlbrew list-modules

Вы увидите следующий вывод:

Expected OutputApp::cpanminus
Email::Date::Format
Email::Simple
Perl

Для модуляEmail::Simple требуется модульEmail:Date::Format. Программаcpanm установила за вас зависимость.

Если вы не уверены, что установить, чтобы завершить базовую установку Perl, взгляните наTask::Kensho, в котором описаны многочисленные модули, решающие широкий спектр задач, которые считаются готовыми к производству.

Заключение

В этом руководстве вы установили Perlbrew и использовали его для установки локальной версии Perl в своем домашнем каталоге. Вы также узнали, как использовать Perlbrew для установки и управления несколькими версиями Perl, а также как устанавливать дополнительные модули из репозитория CPAN с помощью утилитыcpanm. Вы можете использовать один и тот же процесс для установки разных версий Perl 5, поэтому вы можете установить версию, необходимую для вашего приложения.

Related