Я установил модуль Template через CPAN на свой MacBook Pro, и он, кажется, установился правильно.
Но, когда я пытаюсь запустить скрипт, который включает в себя модуль Template, я получаю следующее:
Невозможно найти Template.pm в @INC (@INC содержит: / Users / purinkle / Sites / rob / modules /Library/Perl/Updates/5.10.0/darwin-thread-multi-2level /Library/Perl/Updates/5.10.0 /System/Library/Perl/5.10.0/darwin-thread-multi-2level /System/Library/Perl/5.10.0 /Library/Perl/5.10.0/darwin-thread-multi-2level /Library/Perl/5.10.0 /Network/Library/Perl/5.10.0/darwin-thread-multi-2level /Network/Library/Perl/5.10.0 / Сеть / Библиотека / Perl / System /Библиотека / Perl / Extras / 5.10.0 / darwin-thread-multi-2level /System/Library/Perl/Extras/5.10.0.) На.компиляция прервана в ./index.pl строка 12.
Затем я думаю, что во время установки что-то пошло не так, и пытаюсь установить заново через CPAN, но получаю следующее сообщение:
Шаблон обновлен (2.22).
Затем я выполнил команду instmodsh, чтобы попытаться найти, где установлен модуль.В instmodsh перечислены следующие каталоги:
/ opt / local / bin
/ opt / local / lib / perl5 / site_perl / 5.8.9 / darwin-2level
/opt/local/lib/perl5/site_perl/5.8.9/darwin-2level/Template
/ opt / local / lib / perl5 / site_perl / 5.8.9 / darwin-2level / Template / Manual
/ opt / local / lib / perl5 / site_perl / 5.8.9 / darwin-2level / Template / Namespace
/ opt / local / lib / perl5 / site_perl / 5.8.9 / darwin-2level/ Template / Plugin
/ opt / local / lib / perl5 / site_perl / 5.8.9 / darwin-2level / Template / Stash
/ opt / local / lib / perl5 / site_perl / 5.8.9 / darwin-2level / Template / Tools
/ opt / local / lib / perl5 / site_perl / 5.8.9 / darwin-2level / Template / Tutorial
/ opt / local / lib/perl5/site_perl/5.8.9/darwin-2level/auto/Template/Stash/XS
/ opt / local / share / man / man1
/ opt / local / share / man/ man3
Похоже, у меня есть несколько установленных версий Perl (5.8.9 и 5.10.0), и это вызывает путаницу между CPAN aи другие сценарии Perl.
Как это проверить и как можно решить эту проблему?
Я выполнил команды
which perl
which cpan
, и они оба возвращают /opt / local / bin
Running
find / -name perl
возвращает
find: / dev / fd / 3: не каталог
find: / dev / fd / 4: не каталог
/ opt / local / bin / perl
/ opt / local / etc / bash_completion.d / perl
/opt / local / var / macports / software / bash-creation / 1.2_0 / opt / local / etc / bash_completion.d / perl
/ opt / local / var / macports / software / perl5.8 / 5.8.9_3 / opt / local / bin / perl
/ opt / local / var / macports / sources / rsync.macports.org / release / ports / perl
/ usr / bin / perl
/ usr / local / bin / perl
/ usr / share / file / magic / perl
и
find / -name cpan
возвращает
/ opt / local / bin / cpan
/ opt / local / var / macports / software / perl5.8 / 5.8.9_3 / opt / local / bin / cpan
/ Пользователи / purinkle / .cpan / build / CPAN-1.9402-KtN827 / blib / script / cpan
/ Users / purinkle / .cpan / build / CPAN-1.9402-KtN827 / scripts / cpan
/ Users / purinkle / .cpan / build / CPAN-1.9402-zb0AeX / blib / script / cpan
/ Users / purinkle / .cpan / build / CPAN-1.9402-zb0AeX / scripts / cpan
/ usr / bin / cpan
Выполнение
perl -e 'print join "\n", @INC'
возвращает
/ Пользователи / purinkle / Сайты / грабли / модули
/ opt / local / lib / perl5 / site_perl /5.8.9 / darwin-2level
/ opt / local / lib / perl5 / site_perl / 5.8.9
/ opt / local / lib / perl5 / site_perl
/Opt / местные / Библиотека / perl5 / vendor_perl / 5.8.9 / Darwin-2Уровень
/ opt / local / lib / perl5 / vendor_perl / 5.8.9
/ opt / local / lib / perl5 / vendor_perl
/ opt / local / lib / perl5 / 5.8.9 / darwin-2level
/ opt / local / lib / perl5 / 5.8.9