Почему CPAN.pm не удается обновить? - PullRequest
3 голосов
/ 08 октября 2009

Уточнение: я в значительной степени Perl / CPAN нуб, не думай, что я знаю слишком много.

У меня довольно ванильно CPAN, потому что я просто перестроил весь свой Lenny 5.0.2 VPS - так что у меня в основном установлены модули по умолчанию.

Моя конечная цель - настроить foswiki на моем сервере на базе Apache 2.x.

Пока я читаю это руководство, и в нем говорится, что первое, что вы должны сделать, - обновить CPAN до последней версии. Итак, я сделал (как su):

# perl -MCPAN -e '$ENV{FTP_PASSIVE} = 1; install CPAN'

Теперь он устанавливает / обновляет кучу вещей, вот выдержка:

CPAN-1.9402/t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Expect-1.00.tar.gz
CPAN-1.9402/t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-UnsatPrereq-1.00.tar.gz
CPAN-1.9402/t/CPAN/authors/id/A/AN/ANDK/CHECKSUMS
CPAN-1.9402/t/CPAN/authors/id/A/AN/ANDK/cpantestdummies/
CPAN-1.9402/t/CPAN/authors/id/A/AN/ANDK/cpantestdummies/CPAN-Test-Dummy-Perl5-Make-Features-1.05.tgz
CPAN-1.9402/t/CPAN/authors/id/A/AN/ANDK/cpantestdummies/CHECKSUMS
CPAN-1.9402/t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Zip-1.03.zip
CPAN-1.9402/t/CPAN/authors/id/A/AN/ANDK/CHECKSUMS.2nd
CPAN-1.9402/t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-1.05.tar.gz
CPAN-1.9402/t/CPAN/authors/id/A/AN/ANDK/CPAN-Test-Dummy-Perl5-Make-Failearly-1.02.tar.gz
CPAN-1.9402/t/CPAN/authors/id/A/AN/CHECKSUMS
CPAN-1.9402/t/CPAN/authors/id/A/CHECKSUMS
CPAN-1.9402/t/CPAN/authors/id/CHECKSUMS
CPAN-1.9402/t/CPAN/authors/01mailrc.txt
CPAN-1.9402/t/CPAN/CpanTestDummies-1.55.pm
CPAN-1.9402/t/CPAN/TestConfig.pm
CPAN-1.9402/t/51pod.t
CPAN-1.9402/t/02nox.t
CPAN-1.9402/t/50pod.t
CPAN-1.9402/t/10version.t
CPAN-1.9402/t/yaml_code.yml
CPAN-1.9402/t/04clean_load.t
CPAN-1.9402/README
CPAN: File::Temp loaded ok (v0.18)

  CPAN.pm: Going to build A/AN/ANDK/CPAN-1.9402.tar.gz

Importing PAUSE public key into your GnuPG keychain... gpg: new configuration file `/root/.gnupg/gpg.conf' created
gpg: WARNING: options in `/root/.gnupg/gpg.conf' are not yet active during this run
done!
(You may wish to trust it locally with 'gpg --lsign-key 450F89EC')
Checking if your kit is complete...
Looks good
Writing Makefile for CPAN
Could not read '/root/.cpan/build/CPAN-1.9402-fmK7xK/META.yml'. Falling back to other methods to determine prerequisites
  ANDK/CPAN-1.9402.tar.gz
  make -- NOT OK
Warning (usually harmless): 'YAML' not installed, will not store persistent state
Running make test
  Can't test without successful make
Running make install
  Make had returned bad status, install seems impossible
kat:~# 

Я искал в Google и наткнулся на одну страницу, где говорилось, что вы должны по возможности устанавливать пакет из aptitude / apt-get / yum, поэтому я нашел пакет с именем libyaml-perl, пометил его для загрузки и прошел нормально. .

Затем я снова попробовал свою первоначальную команду, которая устанавливает последнюю версию CPAN и ...

CPAN-1.9402/t/50pod.t
CPAN-1.9402/t/10version.t
CPAN-1.9402/t/yaml_code.yml
CPAN-1.9402/t/04clean_load.t
CPAN-1.9402/README
CPAN: File::Temp loaded ok (v0.18)
CPAN: YAML loaded ok (v0.66)

CPAN.pm: Going to build A/AN/ANDK/CPAN-1.9402.tar.gz

Importing PAUSE public key into your GnuPG keychain... done!
(You may wish to trust it locally with 'gpg --lsign-key 450F89EC')
Checking if your kit is complete...
Looks good
Writing Makefile for CPAN
  ANDK/CPAN-1.9402.tar.gz
  make -- NOT OK
Running make test
  Can't test without successful make
Running make install
  Make had returned bad status, install seems impossible

Понятия не имею, что мне теперь делать. Есть ли способ, которым я могу сбросить все? Может быть, мне нужно убить файл, который он пытался обработать, чтобы он мог попытаться повторно обработать его или что-то в этом роде? Если у кого-то есть общие советы по CPAN в дополнение к выяснению, что это такое, я был бы признателен.

  • Правильно ли я установил пакет yaml?
  • Должен ли я сделать это из CPAN?
  • Какие правильные шаги или модули я должен получить в первую очередь?

В конце концов мне нужно будет установить их для foswiki:

  • CGI :: Session - необходим для функции сессий Foswiki, которая действительно должна иметь
  • Ошибка - необходима, если вы позже захотите разработать плагины. Он также распространяется с Foswiki, но у автора возникли большие проблемы со скриптом сборки, который собирает плагины, которые иногда не могут найти эту библиотеку. Добавляя его в библиотеку Perl сайта, вы избегаете подобных неприятностей.
  • FreezeThaw - косвенно необходимый модуль, используемый другими модулями.
  • GD - Используется подключением, которое может производить графику, например Foswiki: Plugins.ChartPlugin. Это требует, чтобы lib gd был установлен. Если ваш выбор установки не включает, вам просто нужно установить rpms gd и gd-devel. Они оба на компакт-дисках или DVD.
  • HTML :: Tree - необходим для некоторых популярных плагинов
  • Модули времени (Time :: CTime, Time :: DaysInMonth, Time :: JulianDay, Time :: ParseDate, Time :: Timezone) также необходимы для некоторых популярных плагинов.

Ответы [ 3 ]

3 голосов
/ 08 октября 2009

Используйте средства управления пакетами Debian для установки: См. инструкции на веб-сайте foswiki.

Используйте инструменты управления пакетами для конкретной платформы в 99% случаев. В противном случае настройте CPAN для установки в отдельном каталоге (который вы можете добавить в $PERL5LIB).

2 голосов
/ 08 октября 2009

Что говорит o conf make в оболочке cpan? У вас установлен make?

Как правило, установите build-essential (это в Ubuntu, так должно быть и в Debian), а затем выполните o conf init в оболочке cpan.

1 голос
/ 08 октября 2009
  1. Попробуйте использовать CPANPLUS (скрипт cpanp) вместо CPAN.
  2. Перед установкой чего-либо еще рассмотрите возможность установки YAML.
  3. Рассмотрите возможность настройки конфигурации в соответствии с предварительными условиями (то есть, когда для какого-либо пакета требуется какой-либо другой модуль, который в данный момент отсутствует, он продолжит установку другого модуля - при необходимости рекурсивно).
...