Как мне установить Devel :: Cover на ActivePerl 5.8.7? - PullRequest
2 голосов
/ 04 августа 2010

cpan завершается ошибкой с этой странной ошибкой, как показано ниже

Error: Unable to locate installed Perl libraries or Perl source code.

It is recommended that you install perl in a standard location before
building extensions. Some precompiled versions of perl do not contain
these header files, so you cannot build extensions. In such a case,
please build and install your perl from a fresh perl distribution. It
usually solves this kind of problem.

(You get this message, because MakeMaker could not find "D:\fbl_esc_bcd_tb\tools\perl\lib\CORE\perl.h")
Running make test
  Make had some problems, maybe interrupted? Won't test
Running make install
  Make had some problems, maybe interrupted? Won't install

Проблема в том, что я не могу установить новые активные версии Perl в этой среде, и инструмент, на который я хочу охватить, не работает вне этой среды.1004 *

Ответы [ 2 ]

3 голосов
/ 04 августа 2010

Краткий ответ: Репозиторий ActiveState PPM имеет предварительно скомпилированную версию Devel :: Cover, которую вы сможете установить.

Длинный ответ: Это не обычное сообщение от MakeMaker, поэтому я хочу догадаться, что это дополнение ActiveState, но, вероятно, это правда. Проблема именно в том, что говорится в сообщении об ошибке; В вашем дистрибутиве отсутствуют некоторые важные файлы, в частности заголовочные файлы C для Perl, поэтому он не может скомпилировать код C, необходимый для таких модулей, как Devel :: Cover. Это часто является результатом чрезмерного усердия системного администратора или упаковщика, стремящегося сэкономить несколько десятков К дискового пространства. Вы можете вероятно взять файлы заголовков из источника 5.8.7 , скопировать их в каталог CORE, и это будет вероятно работать. Ничего хуже не будет.

Я согласен с Эваном в том, что, предполагая, что это машина с Windows, вам следует переключиться на Strawberry Perl, который намного лучше работает с остальным сообществом Perl, чем ActivePerl.

В противном случае ActiveState является коммерческой компанией, и они платят за поддержку Perl. Дайте им кольцо.

3 голосов
/ 04 августа 2010

Активный Perl не использует CPAN. Если вы хотите использовать CPAN, используйте Strawberry Perl . Активный Perl использует двоичное распределение через свою систему ppm. Для этого есть несколько сторонних репозиториев, если у официального нет Devel::Cover - хотя у официального, вероятно, есть Devel :: Cover.

Большинство людей в эти дни переезжают в Клубнику и уходят из АС. На мой взгляд, он гораздо более стабилен и удобен для CPAN, и, безусловно, менее запатентован. Кроме того, ожидайте, что сможете получить стабильные версии почти всего - AS, как известно, во многих случаях отставал от официальных репозиториев. В комплект поставки strawberry также входит собственный компилятор и среда сборки, поэтому вы даже можете легко работать с ::XS версиями.

...