在 SUSE 上安装 dropbox-api 失败

在 SUSE 上安装 dropbox-api 失败

我正在尝试将 dropbox-api 安装到我的 suse 11.4 上,但我一直收到此错误:

无法在 @INC 中找到 DateTime.pm (@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 行。BEGIN 失败 - 编译在 /root/bin/dropbox-api 的第 6 行中止。

起初我以为它缺少一些 perl 模块,所以我继续使用以下方法安装了一些 CPAN 模块以及 CPAN shell:

#perl -MCPAN -e shell

因此,我通过 shell 安装了额外的模块,例如

# install DateTime::TimeZone 

但我仍然得到同样的错误。有人知道我可能做错了什么或出了什么问题吗?我正在使用这些说明安装 API。

答案1

你安装了吗DateTime::Format::Strptime?它具有DateTime依赖项,因此应该已经安装。

尝试运行以下测试来验证 DateTime 是否已安装:

$ perl -MDateTime -e1

如果没有产生任何输出,则测试成功;类似这样的消息Can't locate DateTime.pm in @INC <...>表示在库搜索路径中未找到 DateTime。

您是否使用过cpanm安装DateTime::Format::Strptime?如果您使用了 cpan shell,请确保对“遵循依赖关系”回答“是”,以便自动安装模块的依赖关系。

您使用的是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; }'

相关内容