Perl 库路径更改

Perl 包现在使用带有版本号的路径来存放编译后的模块。这意味着为不兼容的 Perl 版本构建的模块将不再被加载,并且必须重新构建。

pacman 钩子会在升级期间通过显示类似以下的输出来警告受影响的模块

WARNING: '/usr/lib/perl5/vendor_perl' contains data from at least 143 packages which will NOT be used by the installed perl interpreter.
 -> Run the following command to get a list of affected packages: pacman -Qqo '/usr/lib/perl5/vendor_perl'

您必须使用新 Perl 包重新构建所有受影响的包,然后才能再次使用它们。此更改还会影响通过 CPAN 直接安装的模块。在未来主要的 Perl 更新(如 5.28 和 5.30)中,也需要重新构建。

请注意,在此更改之前,对于主要的更新,重新构建已经是必需的,但现在 Perl 将不再尝试加载模块然后以奇怪的方式失败。

如果某些软件的构建系统无法自动检测到此更改,您可以在 PKGBUILD 中使用 perl -V:vendorarch 来查询 Perl 以获取正确的路径。对于未通过 pacman 打包的软件,还有 sitearch