如何安装所有缺少的 perl 库?

如何安装所有缺少的 perl 库?

logitechmediaserver我正在尝试在我的 OSMC (Raspbmc) Raspberry Pi 上安装7.8.0。我主要遵循以下指示这里,尽管某些安装不起作用(存储库中缺少某些依赖项,并且补丁失败)。

无论如何,我已经到达使用 重新启动服务器的部分sudo service logitechmediaserver start,然后尝试通过连接到 进行测试http://<pi_local_ip>:9000。这失败了,所以我使用 停止了服务sudo service logitechmediaserver stop,然后尝试通过手动调用可执行文件来排除故障。

$ sudo /usr/sbin/squeezeboxserver
The following modules failed to load: DBI EV XML::Parser::Expat
    HTML::Parser JSON::XS Digest::SHA1 YAML::XS Sub::Name

我尝试使用安装缺少的库apt-get install,但几乎没有一个有帮助。

  • libdbi-perl
  • libev-perl
  • libxml-parser-perl作品!
  • libhtml-parser-perl已经安装了。
  • libjson-xs-perl
  • libdigest-sha-perl
  • 下什么都没有yaml-xs,所以安装了libyaml-perl
  • libsub-name-perl

如何安装缺少的库? (这样我就可以进一步排除故障。)

答案1

Perl 自己的包管理器是安装 Perl 库的最简单方法。不幸的是,它没有集成在发行版中,因此您无法获得发行版包管理的好处,例如稳定版本、安全更新或非 Perl 组件的依赖项跟踪。因此,最好仅将其用于您的发行版中不存在的模块。

Perl 的包管理器被称为CPAN,在同名网站。要与 CPAN 交互,请运行

perl -MCPAN -eshell

并按照设置说明进行操作。对于系统使用,请将其安装在/usr/local/lib/site_perl或您的系统列出的任何位置下

perl -e '$\=$,="\n"; print grep m!^/usr/local!, @INC'

要安装模块,请install对每个缺少的模块使用该命令。这也会安装依赖项。例如

cpan[4]> install YAML::XS

DBI如果您有通过发行版(例如通过)安装的模块libdbi-perl,但程序报告它们“加载失败”,则这将是程序中的错误。也许它需要更新的版本,或者可能它弄乱了模块搜索路径。

请注意,指示你引用的非常混乱将要造成麻烦,因为它们告诉您修改由包管理器维护的文件。切勿这样做:您的修改将在升级时丢失。相反,如果您需要修补某些系统文件,请将修补后的副本放在某处并指示程序从自定义目录加载模块,例如

mkdir -p /usr/local/lib/lms/perl/Slim
cp /usr/share/perl5/Slim/bootstrap.pm /usr/local/lib/lms/perl/Slim
patch /usr/local/lib/lms/perl/Slim/bootstrap.pm lms-rpi-bootstrap.patch

并编辑服务的启动脚本logitechmediaserver以将环境变量设置PERL5LIB/usr/local/lib/lms/perl.

相关内容