如何在 Arch 中强制删除某个包,pacman
而其他包仍然依赖于它。
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
基本上,LWP 6 拆分了一大堆软件包,我需要删除它,以便重新安装它。
答案1
您应该能够通过简单的操作重新安装该软件包:
pacman -S perl-libwww
- 这只会删除 perl-libwww:
pacman -Rdd perl-libwww
-d
请注意命令中的 double ,如果使用,--nodeps
则也必须指定两次或将其与-d
类似的组合:pacman -R --nodeps --nodeps perl-libwww pacman -Rd --nodeps perl-libwww
- 这将删除所有依赖于的包
perl-libwww
:pacman -Rc perl-libwww
来自pacman
的手册页:
-d
,--nodeps
跳过依赖项版本检查。仍会检查包名称。通常,pacman 会始终检查软件包的依赖项字段,以确保所有依赖项均已安装并且系统中不存在软件包冲突。指定此选项两次可跳过所有依赖性检查。
-c
,--cascade
删除所有目标包,以及依赖于一个或多个目标包的所有包。此操作是递归的,必须小心使用,因为它可能会删除许多可能需要的包。