如何删除MacPorts及其已安装的所有软件包?


39

我已经在Mac OS X Lion上安装了MacPorts,并且想要删除它。应该没有更多的MacPorts痕迹了吗?

有没有办法做到这一点?

Answers:


35

从手册中,卸载MacPorts的工作方式如下。您需要先卸载所有端口:

sudo port -fp uninstall --follow-dependents installed

如果port找不到,请尝试/opt/local/bin/port

另外,要删除MacPorts的其余部分,您将需要通过以下单个命令删除以下文件(逐行复制并将其粘贴到Terminal):

sudo rm -rf /opt/local 
sudo rm -rf /Applications/DarwinPorts 
sudo rm -rf /Applications/MacPorts 
sudo rm -rf /Library/LaunchDaemons/org.macports.* 
sudo rm -rf /Library/Receipts/DarwinPorts*.pkg 
sudo rm -rf /Library/Receipts/MacPorts*.pkg 
sudo rm -rf /Library/StartupItems/DarwinPortsStartup 
sudo rm -rf /Library/Tcl/darwinports1.0 
sudo rm -rf /Library/Tcl/macports1.0 
sudo rm -rf ~/.macports

警告:除非您知道该sudo命令rm -rf在做什么,否则不要运行命令,尤其是一个命令,如果不确定,请分别输入每一行。

请注意,MacPorts 创建了自己的用户和用户组。它们也可以删除。有关更多信息,请参见“询问不同”上的答案

最后,通过MacPorts安装的每个端口可能会再次创建其自己的用户和组,因此您可能必须执行手动清除。


我做到了:$ brew doctor给:Warning: Setting DYLD_LIBRARY_PATH can break dynamic linking. You should probably unset it.
Devin G Rhode

有趣。你设置过吗?像在bash个人资料中,bashrc等?
slhck

不,BRAND NEW OS也要安装,我认为这是macports所做的。但是,echo $ DYLD_LIBRARY_PATH吐出了通往MySQL二进制文件的路径
Devin G Rhode

1
@Chet除非你在那放东西,否则。/opt/在默认的OS X安装中甚至不存在,因此您可以安全地删除它。
slhck

1
请注意,macports还会创建自己的用户和组(请参阅trac.macports.org/ticket/31013),有关删除它们的信息,请参见apple.stackexchange.com/questions/317576/…。还要注意,已安装的端口本身可能会创建新的用户和组...
Anon

7

本指南帮助我删除了MacPorts:http : //bitboxer.de/2010/06/03/moving-from-macports-to-homebrew/

以下是摘要(以防链接失效):首先,卸载MacPorts:

sudo port -f uninstall installed

第二步:删除MacPorts剩下的所有内容(首先检查MySQL和/ opt / local中的其他内容):

sudo rm -rf /opt/local
sudo rm -rf /Applications/DarwinPorts
sudo rm -rf /Applications/MacPorts
sudo rm -rf /Library/LaunchDaemons/org.macports.*
sudo rm -rf /Library/Receipts/DarwinPorts*.pkg
sudo rm -rf /Library/Receipts/MacPorts*.pkg
sudo rm -rf /Library/StartupItems/DarwinPortsStartup
sudo rm -rf /Library/Tcl/darwinports1.0
sudo rm -rf /Library/Tcl/macports1.0
sudo rm -rf ~/.macports

之后,您应该从$ PATH中删除/ opt / local / bin


3
如果链接失效,您能否总结一下答案中的链接是什么?
jonsca

2
我到处都看到“如果您有有效的port命令,请使用sudo port blah”。如果像我这样的情况,端口不起作用怎么办?
frumbert


将sudo rm -rf long命令分隔为serveral short命令对我确实很有效。
凯文·唐

@frumbert我知道距您评论的日期已经2年了。但是,为进一步参考,请允许我讲一下我的故事。Macports在我升级到El Capitan的OSX Yosemite系统上运行。然后,我决定完全删除macports。为此,我为El Capitan重新安装了macports,然后按照上面的答案进行操作。希望这可以帮助某人;-)
Lashae 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.