Какие шаги предпринять в случае сбоя установки CPAN?

Я использовал CPAN для установки модулей Perl довольно часто, но мне посчастливилось просто заставить его работать. К сожалению, я пытался установить Thread:: Pool сегодня, и одна из необходимых зависимостей Thread:: Converyor:: Monitored не прошла тест:

Test Summary Report
-------------------
t/Conveyor-Monitored02.t (Wstat: 65280 Tests: 89 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Tests out of sequence.  Found (2) but expected (4)
                Tests out of sequence.  Found (4) but expected (5)
                Tests out of sequence.  Found (5) but expected (6)
                Tests out of sequence.  Found (3) but expected (7)
                Tests out of sequence.  Found (6) but expected (8)
Displayed the first 5 of 86 TAP syntax errors.
Re-run prove with the -p option to see them all.
Files=3, Tests=258,  6 wallclock secs ( 0.07 usr  0.03 sys +  4.04 cusr  1.25 csys =  5.39 CPU)
Result: FAIL
Failed 1/3 test programs. 0/258 subtests failed.
make: *** [test_dynamic] Error 255
  ELIZABETH/Thread-Conveyor-Monitored-0.12.tar.gz
  /usr/bin/make test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
  reports ELIZABETH/Thread-Conveyor-Monitored-0.12.tar.gz
Running make install
  make test had returned bad status, won't install without force
Failed during this command:
 ELIZABETH/Thread-Conveyor-Monitored-0.12.tar.gz: make_test NO

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

3 ответа

Решение

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

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

Это, вероятно, означает, что тесты плохие, а не сам код, и вы можете сделать force install Thread::Conveyor::Monitored обойти тестирование.

Ну, во-первых, я бы попробовал собрать модуль из исходного кода. Много раз вы можете получать ошибки там лучше, и, по крайней мере, по крайней мере, у вас все равно будет весь журнал make для просмотра (убедитесь, что он передан в файл).

Для тех, кто незнаком с cpan как и я, одно из сообщений с вашего (неудачного) вывода:

//hint// to see the cpan-testers results for installing this module, try:
  reports ELIZABETH/Thread-Conveyor-Monitored-0.12.tar.gz

Эту команду можно выполнить, запустив cpan без аргументов, чтобы войти в режим консоли:

$ cpan

cpan shell -- CPAN exploration and modules installation (v2.11)
Enter 'h' for help.

cpan[1]>

Затем введите предложенную команду там, это может показать вам более подробное объяснение сбоя установки.

Другие вопросы по тегам