Arch-Linux

重建舊的 Perl 模組

  • July 6, 2019

我剛剛在 Arch Linux ( pacman -Syu) 上進行了系統更新,並看到了關於存在舊 Perl 模組的警告:

WARNING: '/usr/lib/perl5/site_perl' contains data from at least 2 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/site_perl'
WARNING: '/usr/lib/perl5/vendor_perl' contains data from at least 8 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'

執行推薦的命令會產生以下結果:

$ pacman -Qqo '/usr/lib/perl5/site_perl'
gscan2pdf
perl-filesys-df
$ pacman -Qqo '/usr/lib/perl5/vendor_perl'
perl-config-general
perl-data-uuid
perl-goo-canvas
perl-gtk2-ex-simple-list
perl-gtk2-imageview
perl-pdf-api2
perl-sane
perl-set-intspan

我之前在更新 Perl 版本時遇到過類似的情況。如果我沒記錯的話,那些 Perl 包需要重建;但是,我不記得我在哪裡找到了這樣做的咒語。請注意,我完全沒有使用 Perl 的經驗。這些模組僅由我通過 AUR 安裝的*gscan2pdf使用。*如何重建這些 Perl 模組?

要從for我使用yaourt重建perl庫:AUR``pacmanager

yaourt -S --asdeps perl-gnome2-gconf glade-perl perl-crypt-blowfish perl-gnome2-vte perl-expect perl-crypt-rijndael perl-gtk2-ex-simple-list perl-io-stty perl-io-tty perl-net-arp perl-yaml perl-crypt-cbc perl-gtk2-unique perl-socket6 uuid

pacman所以只需用給你的庫替換庫:

yaourt -S --asdeps gscan2pdf perl-filesys-df perl-config-general perl-data-uuid perl-goo-canvas perl-gtk2-ex-simple-list perl-gtk2-imageview perl-pdf-api2 perl-sane perl-set-intspan

更新 2018 附加

Arch 中的perl 5.28更新意味著您必須再次重建所有不受支持的軟體包。修復依賴錯誤的解決方案是刪除有問題的AUR perl應用程序,然後刪除孤立perl庫並更新您的系統:

sudo pacman -Rns $(pacman -Qtdq)
sudo pacman -Syu

最後重新安裝AUR perl應用程序。

更新 2019 附加

隨著perl 5.30.0更新現在給出關於舊庫的pacman警告。perl這次我有一個很大的更新&需要做以下事情:

sudo pacman -R $conflicting_perl_mod_&_app
sudo pacman -Syu
# pacman now generates a warning for unused perl libs
pacman -R $(pacman -Qqo '/usr/lib/perl5/5.28')
pacman -S $perl_app
# optional remove orphaned packages
sudo pacman -Rns $(pacman -Qtdq)
sudo pacman -Syu

引用自:https://unix.stackexchange.com/questions/391076