1

Я пытаюсь установить dropbox-api на свой suse 11.4, но получаю эту ошибку:

Не удается найти DateTime.pm в @INC (@INC содержит: /usr/lib/perl5/site_perl/5.12.3/i586-linux-thread-multi /usr/lib/perl5/site_perl/5.12.3 /usr /lib /perl5 /vendor_perl /5.12.3 /i586-linux-thread-multi /usr/lib/perl5/vendor_perl/5.12.3 /usr/lib/perl5/5.12.3/i586-linux-thread-multi /usr /lib /perl5 /5.12.3.) в строке /root /bin /dropbox-api 6. НАЧАЛО сбой - компиляция прервана в строке 6 /root /bin /dropbox-api.

Сначала я подумал, что в нем отсутствуют некоторые модули Perl, поэтому я решил установить некоторые модули CPAN вместе с оболочкой CPAN, используя

#perl -MCPAN -e shell

Так что через оболочку я установил дополнительные модули вроде

# install DateTime::TimeZone 

Но все равно я получаю ту же ошибку. Кто-нибудь знает, что я могу делать неправильно или что не так? Я использую эти инструкции для установки API.

1 ответ1

1

Вы установили DateTime::Format::Strptime ? Он имеет DateTime в качестве зависимости, поэтому он должен быть установлен.

Попробуйте запустить следующий тест, чтобы убедиться, что DateTime установлен:

$ perl -MDateTime -e1

Тест считается успешным, если он не выдает никаких результатов; сообщение типа Can't locate DateTime.pm in @INC <...> означает, что DateTime не найден в путях поиска в библиотеке.

Вы использовали cpanm для установки DateTime::Format::Strptime ? если вы использовали оболочку cpan, убедитесь, что вы сказали «да», чтобы «следовать зависимостям», чтобы зависимости для модуля устанавливались автоматически.

Вы используете perlbrew или local::lib? Любой из этих инструментов может привести к установке модуля в нестандартных местах, так что программы не смогут их найти (если только они не запускаются с помощью local::lib или perlbrew .

В случае неудачи всего вышеперечисленного, какой вывод работает:

$ echo DateTime | perl -MFile::Spec -nE'BEGIN { say STDERR qq{Searching "${ \join(q{", "}, @INC)}"} } chomp; for my $dir ( @INC ) { my $module_file = File::Spec->catfile( $dir, split /::/, $_ ) . qq{.pm}; say $module_file if -e $module_file; }'

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .