Дата :: Manip не устанавливается

#perl #date

#perl #Дата

Вопрос:

Я продолжаю получать сообщения об ошибках при попытке установить Date::Manip модуль. Какие-нибудь эксперты по Perl знают, что я могу попробовать? Команда, которую я пытаюсь

 perl -MCPAN -e "install Date::Manip" 
  

Версия Perl — 5.20, а версия Date ::Manip, которую он продолжает пытаться установить, — 6.45, но возвращается с сообщением «У Make возникли некоторые проблемы» и «Такого файла в архиве нет». Мне предлагается вручную установить файл, но я понятия не имею, как это сделать. Вот что он говорит…

 Could not find file 'sulbeck@heather.osg.ufl.edu.2024:1399465428' in memory at C:Strawberryperllib/CPAN/Tarzip.pm line 408.

Making symbolic link 'C:STRAWB~1cpanbuildtmp-3576Date-Manip6.45libDateManip.#Changes6.pod' to 'sulbeck@heather.osg.ufl.edu.2024:1399465428' failed at C:Strawberryperllib/CPAN/Tarzip.pm line 408.

Could not untar with Archive::Tar  SBECK/Date-Manip-6.45.tar.gz

Had problems unarchiving. please build manually. Stopping: 'install' failed for 'Date:Manip
  

Комментарии:

1. С этим модулем происходит что-то немного странное. В настоящее время он не указан в metacpan Date::Manip , и я наблюдаю похожие вещи при попытке его обновления.

2. Спасибо за обновление. Я новичок в Perl, но означает ли это, что в источнике есть что-то, что может быть причиной этого?

3. Это проблема с дистрибутивом: rt.cpan.org/Public/Bug/Display.html?id=96459 Попробуйте установить более раннюю версию, указав более ранний URI архива в cpanm командной строке.

4. Кажется, я не могу найти предыдущие версии. Кажется, все они были извлечены?

5. search.cpan.org/CPAN/authors/id/S/SB/SBECK/…

Ответ №1:

Сегодня у меня была точно такая же проблема.

Я смог установить 6.44, выполнив следующие действия из командной строки cpan (вы можете получить к этому доступ, просто набрав cpan в своем терминале).

Разработчик Date ::Manip заархивировал предыдущие версии модуля, вам нужно будет добавить URL-адрес backpan в конфигурацию cpan, чтобы вы могли его искать.

 o conf urllist push http://backpan.perl.org/
  

Теперь вы должны иметь возможность установить, используя прямой путь к версии 6.44

 install SBECK/Date-Manip-6.44.tar.gz
  

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

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

Комментарии:

1. Спасибо, Дэн! Это заставило меня работать!

2. Наконец, решение сработало даже в 2022 году

Ответ №2:

perl -MCPAN -e "install 'SBECK/Date-Manip-6.44.tar.gz'"

или подождите, пока дистрибутив не будет исправлен. '.#Changes6.pod' это недопустимое имя файла для вашего tar.