web-dev-qa-db-fra.com

Comment forcer la suppression d'un paquet dans Arch avec pacman?

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.

66
xenoterracide

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.
102
Kambus