Я в основном использую Textmate для Perl-взлома на OSX Snow Leopard.Все было хорошо, пока несколько дней назад я не установил Macports (до меня дошел слух, что macports устанавливает какую-то версию perl в / opt / local).Теперь для любого нового пакета, который я устанавливаю из CPAN и пытаюсь использовать if из Textmate, он выдает такую ошибку, когда я нажимаю Cmd + R для его запуска (я установил HTML :: TreeBuilder из CPAN несколько минут назад):
Can't locate HTML/TreeBuilder.pm in @INC (@INC contains: /Applications/TextMate.app/Contents/SharedSupport/Bundles/Perl.tmbundle/Support /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 /Network/Library/Perl /System/Library/Perl/Extras/5.10.0/darwin-thread-multi-2level /System/Library/Perl/Extras/5.10.0 .) at /workspace/PerlScripts/test.pl line 2.
Однако он работает нормально, когда я запускаю его из командной строки.Если вы заметите, textmate использует Perl версии 5.10.0.Когда я запускаю «Perl -v» из командной строки, он показывает мне версию 5.12.3 (см. Вставку копии с терминала ниже)
This is perl 5, version 12, subversion 3 (v5.12.3) built for darwin-multi-2level
Небольшой код на Perl, который я использовал, выглядит так:
#!/usr/bin/env perl <br/>
use HTML::TreeBuilder; <br/>
print $HTML::TreeBuilder::VERSION."\n";<br/>
print "$INC{'HTML/TreeBuilder.pm'}\n";<br>
Затем я запустил «which perl» из командной строки, и он вернул следующее:
/opt/local/bin/perl
, затем я запустил «print system (« which perl »);»от TextMate и он вернулся
/usr/bin/perl
Теперь у меня явно есть две версии Perl, сидящие в моей системе.5.10.0, на который Textmate пытается сослаться и который не видит мои установки CPAN.И 5.12.3, которая выглядит как версия perl по умолчанию, когда я запускаю ее из командной строки и ту, в которую устанавливает мой CPAN.Я попытался заменить это:
#! /usr/bin/perl -w
на это (читал в Google, что это заставит системный perl быть выбранным в textmate):
#!/usr/bin/env perl
Пока нет кубиков,Textmate по-прежнему выдает мне ту же ошибку, о которой я упоминал в начале вопроса.Итак, есть ли способ заставить его работать с Textmate?И есть ли способ заставить textmate указать на версию 5.12.3?