现在开始 perl 包将会在编译模块的路径中添加版本号。这意味着针对不同版本的 perl 编译的模块将不会被加载,进而需要重新编译。
在升级的时候会有一个 pacman hook 对受影响的模块提出警告,类似这样:
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'
使用这些模块之前你必须重新编译他们。这一变动同样会影响到通过 CPAN 安装的模块。并且在下一次 Perl 的大版本更新时,比如更新到 5.28 或者 5.30 时将需要再次重新编译。
请注意早在此次变更之前 perl 已经要求重新编译模块了,然而从此之后 perl 将不再尝试载入那些模块并且会以奇怪的方式失败。
如果某些软件的构建系统不能找到正确的路径,你可以在 PKGBUILD 中使用 perl -V:vendorarch
来查询正确的路径。同样还有 sitearch
用于那些并非由 pacman 打包管理的软件。