2015-03-04 7 views
0

Когда я пытаюсь установить cpanm Pod::Spell на Strawberry 5.20.2 (64-битная версия PortableZIP), он будет определять I18N::Langinfo как зависимость. Когда он пытается загрузить дистрибутив для I18N::Langinfo, он находит его в R/RJ/RJBS/perl-520.0.tar.gz и, мудро, думает лучше продолжить.Установка Pod :: Spell failing на Strawberry Portable 5.20.2

Pod::Spell представляет интерес только как зависимость от Perl::Critic.

Любые предложения относительно того, как распутать эту проблему с зависимостью?

+0

Почему у вас нет I18N :: Langinfo установлен? или, если вы это сделаете, почему нет cpanm? – ysth

+0

@ysth Могущественные вопросы. Я повторно загрузил zip-файл, и Langinfo, похоже, не существует. – tjd

+0

Хмм, 'I18N :: Langinfo', похоже, не установлен в ActiveState 5.20.1. И я не нашел копию в Strawberry 5.20.2 Portable w/extra PDL libs либо ... – tjd

ответ

2

Интересно. Я искал I18N::Langinfo на моем встроенном Perl в Windows, и он также не установлен. Я бы ожидал, что он должен быть установлен так, чтобы он мог каркать:

croak("nl_langinfo() not implemented on this architecture"); 

Мне кажется, проблема не клубничный или ActiveState специфический (потому что я строю из источника). Возможно, стоит построить текущий блеск, и если I18N::Langinfo все еще не устанавливается, сообщая об этом как об ошибке для p5p.

Теперь, даже если бы вы могли установить модуль, я бы не ожидал, что он будет работать с не-Cygwin perl на Windows. Поэтому, если Pod::Spell действительно зависит от модуля, он все равно не будет работать должным образом.

Но, честно говоря, глядя на код для Pod::Spell, мне сразу не сразу понятно, почему это должно зависеть от I18N::Langinfo.

Поэтому я переключился на cpanm сек директорию для Pod::Spell, и nmake test (в вашем случае, это было бы dmake test с клубникой Perl):

# *** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING *** 
# 
# The following REQUIRED prerequisites were not satisfied: 
# 
# I18N::Langinfo is not installed (any version required) 
# 
t\00-report-prereqs.t .. ok 
t\basic.t .............. ok 
t\debug.t .............. ok 
t\get-stopwords.t ...... ok 
t\text-block.t ......... ok 
t\utf8.t ............... ok 
All tests successful. 
Files=7, Tests=24, 9 wallclock secs (0.13 usr + 0.02 sys = 0.14 CPU) 
Result: PASS

Поэтому я пошел вперед и установил модуль используя nmake install (в вашем случае dmake install).

podspell, похоже, работал.

Но, ИМХО, ты лучше просто использовать aspell как в:

C:\...> aspell --mode=perl lib\Pod\Spell.pm

aspell spell checking Pod::Spell

Примечание: Я использую Aspell 0.60.6.1 установлен с помощью Cygwin.

+2

Моей мотивацией для установки 'Pod :: Spell' является то, что это зависимость от Perl :: Critic.'Aspell' может быть немного больше работы, чем мне нужно в этом конкретном случае. ;) – tjd

+0

ОК, это имеет смысл. –

+2

Дольмен добавил зависимость от 'podspell' в последней версии, Pod :: Spell не зависит от нее, но я недостаточно внимательно проверил его работу, и поэтому зависимость попала в глобальный список зависимостей. Установка предыдущей версии или следующей версии будет работать – xenoterracide

3

Это ошибка, из-за которой Pod :: Spell зависит от этого модуля, я недостаточно тщательно проверил чей-то патч в последней версии. Временным решением было бы установить предыдущую версию, так как единственными реальными изменениями в этой версии были podspell, а не весь модуль. Это будет исправлено в будущем.

+0

Перед тем, как попробовать выполнить синтановское решение make-install-dispite-make-test, я попытался специально установить номера предыдущих версий по пути распространения. Я предположил, что ваш каталог CPAN является правильным. Текущий дистрибутив - единственный, который я видел в вашем каталоге. Доступен ли он в другом месте? – tjd

+0

Я вижу http://search.cpan.org/CPAN/authors/id/X/XE/XENO/Pod-Spell-1.16.tar.gz и (год назад) http://search.cpan.org /CPAN/authors/id/X/XE/XENO/Pod-Spell-1.15.tar.gz. Предыдущие версии находятся на http://backpan.perl.org/authors/id/X/XE/XENO/ – ysth

+0

https://metacpan.org/pod/Pod::Проверить все версии можно на metacpan, но да 1,15 все еще опубликовано, и cpanm можно использовать для установки указанной версии – xenoterracide