| 1 | == Migrating a MacPorts install to a new major OS version or CPU architecture == |
| 2 | |
| 3 | An installation of MacPorts and the ports installed by it are only designed to work on a single OS release and a single CPU architecture. If you upgrade to a new OS version (e.g. from Tiger to Leopard) or migrate to a new machine with a different type of CPU (e.g. PowerPC to Intel), you may get lucky and have your ports keep working, but in general, things will break. |
| 4 | |
| 5 | After making either of these changes, you should first install the base MacPorts system again, either from the appropriate disk image, or from source. You must then reinstall all your ports. The most reliable way to do this is as follows: |
| 6 | 1. Save the list of installed ports: |
| 7 | {{{ |
| 8 | port installed > myports.txt |
| 9 | }}} |
| 10 | 2. Uninstall them all: |
| 11 | {{{ |
| 12 | sudo port -f uninstall installed |
| 13 | }}} |
| 14 | 3. Browse `myports.txt`, and install the ports that you actually want to use (as opposed to those that are only needed as dependencies) one by one, remembering to specify the appropriate variants: |
| 15 | {{{ |
| 16 | sudo port install portname +variant1 +variant2 ... |
| 17 | }}} |
| 18 | |
| 19 | As of MacPorts 1.8.0, you can alternatively try a single command to rebuild all installed ports for your new platform: |
| 20 | {{{ |
| 21 | sudo port upgrade --force installed |
| 22 | }}} |
| 23 | Note that this may sometimes fail if the dependency relationships declared by the ports are not completely accurate. |