Comment forcer la suppression d'un package dans Arch avec pacman
alors que d'autres packages en dépendent encore.
pacman -R Perl-libwww
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: Perl-app-cpanminus: requires Perl-libwww>=5.828
:: Perl-app-pmuninstall: requires Perl-libwww
:: Perl-app-sd: requires Perl-libwww
:: Perl-catalyst-action-rest: requires Perl-libwww>=2.033
:: Perl-catalyst-runtime: requires Perl-libwww>=1.64
:: Perl-cpan: requires Perl-libwww
:: Perl-cpan-mini: requires Perl-libwww
:: Perl-cpan-uploader: requires Perl-libwww
:: Perl-feed-find: requires Perl-libwww
:: Perl-http-body: requires Perl-libwww
:: Perl-http-request-ascgi: requires Perl-libwww
:: Perl-module-cpants-analyse: requires Perl-libwww
:: Perl-module-install: requires Perl-libwww>=5.812
:: Perl-net-trac: requires Perl-libwww
:: Perl-net-whois-raw: requires Perl-libwww
:: Perl-prophet: requires Perl-libwww
:: Perl-rt-client-rest: requires Perl-libwww
:: Perl-uri-fetch: requires Perl-libwww
:: Perl-www-mechanize: requires Perl-libwww
:: Perl-xml-atom: requires Perl-libwww
:: Perl-xml-feed: requires Perl-libwww
fondamentalement, LWP 6 a divisé tout un tas de paquets, et je dois le supprimer pour pouvoir le réinstaller.
Vous devriez pouvoir réinstaller le package avec un simple:
# pacman -S Perl-libwww
Cela ne supprimera que Perl-libwww:
# pacman -Rdd Perl-libwww
Veuillez noter le double - d dans la commande, si vous utilisez - nodeps vous devez également le spécifier deux fois ou le combiner avec un - d = comme:
# pacman -R --nodeps --nodeps Perl-libwww
# pacman -Rd --nodeps Perl-libwww
Cela supprime tous les packages qui dépendent de Perl-libwww:
# pacman -Rc Perl-libwww
Depuis la page de manuel de pacman:
-d, --nodeps Skips dependency version checks. Package names are still checked. Normally, pacman will always check a package’s dependency fields to ensure that all dependencies are installed and there are no package conflicts in the system. Specify this option twice to skip all dependency checks. -c, --cascade Remove all target packages, as well as all packages that depend on one or more target packages. This operation is recursive, and must be used with care since it can remove many potentially needed packages.