2015-06-25 11 views
1

Я установил W3C Validator на свою Mac OS X Yosemite. Я следовал этим инструкциям: https://validator.w3.org/docs/install.htmlW3C Validator в Mac OS X, отправляющий эту ошибку: не удается найти Config/General.pm

Вот команда, я попробовал:

/usr/local/validator/cgi-bin/check uri= http://www.w3.org

Я получаю эту ошибку:

<h1>Software error:</h1> 
<pre>Can't locate Config/General.pm in @INC (you may need to install the Config::General module) (@INC contains: /Library/Perl/5.18/darwin-thread-multi-2level /Library/Perl/5.18 /Network/Library/Perl/5.18/darwin-thread-multi-2level /Network/Library/Perl/5.18 /Library/Perl/Updates/5.18.2 /System/Library/Perl/5.18/darwin-thread-multi-2level /System/Library/Perl/5.18 /System/Library/Perl/Extras/5.18/darwin-thread-multi-2level /System/Library/Perl/Extras/5.18) at /usr/local/validator/cgi-bin/check line 47. 
BEGIN failed--compilation aborted at /usr/local/validator/cgi-bin/check line 47. 
</pre> 
<p> 
For help, please send mail to this site's webmaster, giving this error message 
and the time and date of the error. 

</p> 
[Thu Jun 25 01:04:18 2015] check: Can't locate Config/General.pm in @INC (you may need to install the Config::General module) (@INC contains: /Library/Perl/5.18/darwin-thread-multi-2level /Library/Perl/5.18 /Network/Library/Perl/5.18/darwin-thread-multi-2level /Network/Library/Perl/5.18 /Library/Perl/Updates/5.18.2 /System/Library/Perl/5.18/darwin-thread-multi-2level /System/Library/Perl/5.18 /System/Library/Perl/Extras/5.18/darwin-thread-multi-2level /System/Library/Perl/Extras/5.18) at /usr/local/validator/cgi-bin/check line 47. 
[Thu Jun 25 01:04:18 2015] check: BEGIN failed--compilation aborted at /usr/local/validator/cgi-bin/check line 47. 

проверка линии 47:

use Config::General 2.32 qw(); # Need 2.32 for <msg 0>, rt.cpan.org#17852 

я сделал поиск на моем компьютере для:

sudo find/-name General.pm

Я получил этот этот результат:

/Applications/Validator-SAC.app/Contents/Resources/validator/lib/perl5.10/Config/General.pm 
/Applications/Validator-SAC.app/Contents/Resources/validator/lib/perl5.10.0/Config/General.pm 
/Applications/Validator-SAC.app/Contents/Resources/validator/lib/perl5.12/Config/General.pm 
/Applications/Validator-SAC.app/Contents/Resources/validator/lib/perl5.18/Config/General.pm 
find: /dev/fd/3: Not a directory find: /dev/fd/4: Not a directory 
/System/Library/Perl/Extras/5.16/Config/Any/General.pm 
/System/Library/Perl/Extras/5.18/Config/Any/General.pm 
/Users/jeannicolas/.cpan/build/Config-General-2.58-ICngmR/blib/lib/Config/General.pm 
/Users/jeannicolas/.cpan/build/Config-General-2.58-ICngmR/General.pm 
/Users/jeannicolas/.cpan/build/Config-General-2.58-umQC4D/blib/lib/Config/General.pm 
/Users/jeannicolas/.cpan/build/Config-General-2.58-umQC4D/General.pm 
/Users/jeannicolas/perl5/lib/perl5/Config/General.pm 
/usr/local/Cellar/autoconf/2.69/share/autoconf/Autom4te/General.pm 
/usr/local/Cellar/automake/1.14/share/automake-1.14/Automake/General.pm 

Более подробно о моей установке для Perl:

$ which perl 

/usr/bin/perl

$ perl --version 

This is perl 5, version 18, subversion 2 (v5.18.2) built for darwin-thread-multi-2level (with 2 registered patches, see perl -V for more detail)

Copyright 1987-2013, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on this system using "man perl" or "perldoc perl". If you have access to the Internet, point your browser at http://www.perl.org/ , the Perl Home Page.

Как я могу решить эту проблему?

+0

У вас установлены две версии Perl, 5.10 и 5.18. Я вижу, что 5.18 работает из командной строки, но знаете ли вы, какая версия веб-сервера работает? Похоже, Config :: General установлен ok для 5.10, но для 5.18 он находится в нечетном месте: /Users/jeannicolas/perl5/lib/perl5/Config/General.pm. Является ли ваш массив @INC настроенным для включения этого в путь для включенных модулей библиотеки? –

+1

У меня нет опыта работы с Perl ... Я не знаю, настроен ли мой массив @INC, чтобы включить это в путь для включенных модулей библиотеки. – jnbdz

+0

Не знаете, как вы установили дополнительные librareies, но из этого «/Users/jeannicolas/perl5/lib/perl5/Config/General.pm» похоже, что он не попал в обычное место, например/System/Library/Perl/Extras/Может быть невозможно, но если вы можете стереть и переустановить perl и все модули, он должен работать намного лучше, и вам не нужно беспокоиться о @INC и $ PERL5LIB –

ответ

0

У меня была такая же проблема, и получил мимо него, просто добавив sudo при вызове cpan - не только для Config::General, но и для всех зависимостей:

sudo cpan install Bundle::W3C::Validator 

Сделав это, w3c валидатор теперь работает отлично для меня.

Я недостаточно осведомлен, чтобы быть уверенным, что это хороший подход. В других контекстах часто предупреждают об установке вещей с помощью sudo. Различные люди (например, the answers to this question) предлагают использовать sudo для cpan в целом; однако они не обсуждают контекст Mac OS X специально. This question дает альтернативную возможность (сообщив cpan для установки в другое место), но я не нашел его до тех пор, пока не вернулся на sudo.