1

Я установил Perl 5.12 на свой сервер, но когда я пытаюсь проверить, какая версия работает, говорит 5.10.

У меня был установлен 5.10 ранее, так как я могу деактивировать эту старую версию и сделать 5.12 версией по умолчанию? Я бегу на Fedora.

3 ответа3

1

В общем, вы не хотите удалять / удалять системный Perl. Это плохо

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

Проблема в том, что ваша система протестирована на определенном уровне Perl. Инструменты, поставляемые с дистрибутивом, на котором вы работаете, могут не обновляться для работы с новым уровнем Perl. Кроме того, если у вас есть бинарный дистрибутив (например, основанный на Debian или RPM), вы можете установить что-нибудь из своего дистрибутива, которое включает в себя модуль perl, включающий XS (код C), и этот debian/RPM/ что угодно будет не обязательно работать с новой версией Perl (пересечение границы 5.8/ 5.10 было определенно нет-нет).

Поэтому вы должны оставить системный Perl в покое.

Я добавил: добавьте ~/bin к моему PATH, перед /usr /bin, и затем перл с жесткой связью с желаемым Perl (у меня их больше одного). Затем я могу запустить " инструмент Perl", если я хочу использовать свой Perl, или я могу использовать "#!/home /myuser /bin /perl "в качестве первой строки для достижения той же идеи. Но для системных инструментов, которые обычно находятся в /usr /bin или /usr /sbin, у них будет "#!/usr /bin /perl "в качестве первой строки и запускается этим perl.

Не связывайтесь с вашим дистрибутивом. Вы будете самостоятельно, если что-то пойдет не так.

0

Во-первых, вам нужно проверить, используете ли вы новую версию Perl или старую (вы удалили старую версию перед установкой новой версии? Для этого сделайте:

 $ whereis perl
 perl: /usr/bin/perl /usr/share/man/man1/perl.1.gz

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

0

Как уже отмечалось, проверьте свой путь. Выполните which(1), чтобы увидеть, где находится исполняемый файл Perl: which perl должен сделать свое дело.

И вам не нужно удалять старую версию (хотя вы, возможно, захотите): для некоторых скриптов, которые вы запускаете, может потребоваться более старая версия. Никогда не знаешь.

Удостоверьтесь, что ваши сценарии perl имеют шебанг в качестве первой строки (командная оболочка использует это для выбора интерпретатора для выполняемого сценария). Строка shebang для Perl выглядит примерно так:

#!/path/to/desired/instance/of/perl -any -desired -perl -options -here

Если шебанг вашего сценария Perl выглядит

#!/usr/bin/perl

вы получите исполняемый файл Perl в этом месте.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .