perl 找不到 apt 安装的模块

问题描述 投票:0回答:1

我正在尝试从源代码构建一个 Perl 程序。该程序有一个构建脚本,它通过调用

perl ./Build installdeps
通过 cpan 安装所有依赖项。但是有些依赖cpan无法正常安装,即Wx。

在全新安装 Ubuntu 22.04 时,我可以通过 apt 安装必要的模块来解决此问题。例如,对于 Wx,我可以执行

sudo apt install libalien-wxwidgets-perl libwx-perl
,然后如果我运行
perl ./Build installdeps
或简单地运行
cpan -i Wx
,cpan 会检测到 Wx 已安装,我最终可以运行
./Build install
,并且该程序将使用依赖项由 apt 安装。但是,在我的主计算机上,我无法执行此操作。我可以通过 apt 安装所有相同的依赖项,但 cpan 仍然认为它们没有安装

perl cpan
1个回答
0
投票

如果模块不在默认的模块搜索路径集之外,您需要告诉 Perl 在哪里查找模块。运行

perl -V
查看默认情况下 @INC 中的内容:

$ perl -V
Summary of my perl5 (revision 5 version 38 subversion 0) configuration:

...

  @INC:
    /usr/local/perls/perl-5.38.0/lib/site_perl/5.38.0/darwin-2level
    /usr/local/perls/perl-5.38.0/lib/site_perl/5.38.0
    /usr/local/perls/perl-5.38.0/lib/5.38.0/darwin-2level
    /usr/local/perls/perl-5.38.0/lib/5.38.0

如果您的模块位于其他位置,则需要将这些目录包含在

@INC
中。请参阅 perlfaq8 中的如何在运行时将目录添加到我的包含路径 (@INC)?

© www.soinside.com 2019 - 2024. All rights reserved.