Я являюсь автором модуля CPAN Image :: Hash. Это модуль для создания хэширования изображений и использует GD, Image :: Magick или Imager для работы с изображениями, в зависимости от того, что установлено в системе пользователей.Модуль Perl Image :: Magick :: Q16 :: постоянный отсутствует при работе Image :: Magick?
я тест, чтобы увидеть, если изображение :: Magick устанавливается обернув его в Eval, как это:
eval { require Image::Magick};
Если установлен Image :: Magick модуль будет использовать его.
Это отлично работает, но в последнее время я получил два отчета об ошибке от тестеров CPAN, где мой модуль выходит из строя с ошибкой «Изображение :: Magick :: Q16 :: constant not defined».
Dos это означает, что вы можете установить Image :: Magick, но все еще не иметь рабочей среды, потому что Image :: Magick :: Q16 отсутствует?
Как с этим справиться?
Я не хочу добавлять изображение :: Magick :: Q16: как требование для всех, потому что он работает правильно без него на всех, кроме двух платформах.
Отчеты тестеры CPAN:
Image-Hash-0,06:
x86_64-линукс-нить-мульти/5.18.1:
FAIL http://www.cpantesters.org/cpan/report/822fb984-965b-11e5-8cc0-4f581fbf4db7
Image-Hash-0.06:
i486-Linux-нить-мульти/5.18.1:
http://www.cpantesters.org/cpan/report/1a701ba4-97fa-11e5-975f-b301d0c0c177 FAIL
Просто для уточнения; в соответствии с тестировщиками CPAN мой модуль работает на 215 платформах и не работает на 2. Так что это не обычная ошибка. В настоящее время у меня нет доступа к машине с perl 5.18.1.
Можно установить версию ImageMagick Q8 вместо обычного Q16 и получить сообщение об ошибке, которое они видят. Я подозреваю, что Q16 установлен на всех, кроме двух платформах, которые вы тестировали, поэтому было бы безопасно идти вперед и требовать Image :: Magick :: Q16. –
Я исследовал это дальше, и нет пакета cpan с именем Image :: Magick :: Q16 (или Изображение :: Магия :: Q8 или Изображение :: Магия :: Q32). Это имя должно быть внутренним для Image :: Magick. Это означает, что добавление Image :: Magick :: Q16 в качестве требования не исправит это. –