Как я могу установить или обновить модуль CPAN, который есть в последней версии Perl, без установки новой версии Perl? - PullRequest
8 голосов
/ 10 октября 2009

Я бы хотел установить модуль Perl (в данном случае FindBin ), но, поскольку он включен в дистрибутив Perl 5.10.1 , cpan хочет установите Perl 5.10 для меня. Есть ли способ установить только модуль через cpan?

Единственный вариант, который я вижу, - это установка непосредственно из источника , который кажется немного грубым, так как нет отдельного пакета (например, Makefile.PL и т. Д.), Только голый .pm файл.

Поскольку это небольшой модуль, в котором есть только один файл, в данном случае это выполнимо, но что, если я захочу установить гораздо больший пакет?

РЕДАКТИРОВАТЬ: Это несколько отличается от первоначального вопроса, но говорит об общей проблеме модулей, включаемых в дистрибутивы Perl: я обнаружил, что «автономный» FindBin ( версия 1.49 ) имел синтаксический ошибка, поэтому я получил версию 1.50 из дистрибутива Perl 5.10.1 ... Однако, поскольку модуль теперь включен в список CPAN как часть Perl 5.10, я не могу найти файл CHANGES, описывающий то, что было изменено / исправлено в этой дельте. Разумно ли, что мне нужно зайти в репозиторий разработчиков, чтобы вытащить эту информацию?)


РЕДАКТИРОВАТЬ 2. Хорошо, вот лучший пример . На Perl 5.8.8 у меня версия 1.04 Carp. Тем не менее, я вижу, что Perl 5.10.1 поставляется с версией 1.11. Есть ли способ заставить CPAN установить последнюю версию Carp для меня, не перетаскивая весь Perl 5.10.1? Я даже не могу найти ссылку на модуль Carp в CPAN, за исключением установки perl 5.10.1 .

Ответы [ 2 ]

3 голосов
/ 10 октября 2009
> corelist FindBin

FindBin was first released with perl 5.00307

Какая версия Perl, которую вы используете, не включает FindBin? Если вы используете хотя бы Perl 5.6.0 (все версии до этого считаются устаревшими), вам не нужно устанавливать FindBin. Если у вас есть что-то старше, я предлагаю обновить до 5.6.2 / 5.8.9 / 5.10.1.

Курила не "автономный" FindBin, это диалект Perl. FindBin не является двойной жизнью и выпускается только в комплекте с Perl. Вы можете рассмотреть возможность выпуска FindBin для CPAN в качестве автономного дистрибутива - это легко, если в прошлом вы использовали ExtUtils :: MakeMaker.

Последнее полезное изменение FindBin было 2007-04-28, связанное с VMS. Последнее полезное изменение не в VMS было 2006-10-25.

1 голос
/ 10 октября 2009

Вещи, которые вы можете попробовать включить

  • Перетащите FindBin.pm в тот же каталог, что и ваш исполняемый файл, и используйте use FindBin
  • Перетащите FindBin.pm в вашу библиотеку Perl
  • Использование исходного кода модуля в вашем скрипте
...