78

How do I force remove a package in Arch with pacman while other packages still depend upon it.

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

basically LWP 6 split a whole bunch of packages, and I need to remove it so I can reinstall it.

8
  • There is no equivalent of apt-get's --reinstall flag? Mar 27, 2011 at 15:41
  • @faheem considering that arch hasn't released libwww 6 yet... even if there was it wouldn't work right in this scenario Mar 27, 2011 at 15:44
  • @xenoterracide: Sorry, I didn't follow your response at all (I assume libwww is something to do with the package you are trying to install) but please don't feel you need to explain on my behalf. :-) Mar 27, 2011 at 15:47
  • @faheem it's LWP. but we can normally just reinstall a package by requesting it's install again... that doesn't help in this case though because it's non in arch repo's and I need to uninstall this and upgrade it without using arch repo's, and since the package was split, I had file conflicts. Mar 27, 2011 at 15:51
  • @faheem also please note that Arch is not debian, and have no idea how debian's apt-get --reinstall works. Mar 27, 2011 at 15:51

1 Answer 1

116

You should be able to reinstall the package with a simple:

pacman -S perl-libwww
  • This will only remove perl-libwww:
    pacman -Rdd perl-libwww
    
    Please notice the double -d in the command, if you use --nodeps you have to specify that twice too or combine it with a -d like:
    pacman -R --nodeps --nodeps perl-libwww
    pacman -Rd --nodeps perl-libwww
    
  • This removes all the packages which depend on perl-libwww:
    pacman -Rc perl-libwww
    

From pacman's man page:

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

1

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .