How can one do a complete clean reinstall of a port and at the same time a complete clean reinstall of all its dependenceis?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
From the MacPorts wiki (migration):
https://trac.macports.org/wiki/Migration
After having saved a list of installed ports using:
port -qv installed > myports.txt
and having removed them with:
sudo port -f uninstall installed
Download and execute the restore_ports script. (If you installed MacPorts from source and used a custom prefix, then you'll need to use the -p
option when you run restore_ports.tcl
; see ./restore_ports.tcl -h
.)
curl -O https://svn.macports.org/repository/macports/contrib/restore_ports/restore_ports.tcl
chmod +x restore_ports.tcl
sudo ./restore_ports.tcl myports.txt
回答2:
Save your currently installed ports
sudo port list installed | sed 's/ .*//' | sort | uniq > ports.lst
Then uninstall everything, leaving the structure in place
sudo port clean installed
sudo port -f uninstall installed
Then reinstall everything, with the new dependencies:
for package in $(<ports.lst); do sudo port install $package; done