Вступление
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, поэтому вы можете установить версию, необходимую для вашего приложения.