방금 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에 대한 경험이 전혀 없습니다. 이 모듈은 다음에서만 사용됩니다.gscan2pdf저는 AUR을 통해 설치했습니다. 이러한 Perl 모듈을 어떻게 다시 빌드합니까?
답변1
내가 사용하는 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
지원되지 않는 모든 패키지를 다시 다시 빌드해야 함을 의미합니다. 종속성 오류를 해결하는 솔루션은 다음과 같습니다.제거하다범죄자우레아 소변 비율 perl
그런 다음 애플리케이션은 고아 perl
라이브러리를 제거하고 시스템을 업데이트합니다.
sudo pacman -Rns $(pacman -Qtdq)
sudo pacman -Syu
마지막으로 다시 설치우레아 소변 비율 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
답변2
Stuart Cardall의 답변에 추가하여 .sh 스크립트를 만들어 나열된 Perl 모듈을 다시 작성한 다음 스크립트를 실행하고 Perl을 업데이트할 때 해당 경고를 받을 수 있습니다.
#!/bin/bash
yaourt -S --asdeps --noconfirm $(pacman -Qqo '/usr/lib/perl5/vendor_perl')
yaourt -S --asdeps --noconfirm $(pacman -Qqo '/usr/lib/perl5/site_perl')