I am using Macports 1.7.1, and I don't want the latest port version, since it does not play nice with some other packages I want to build from source.

How can I force a particular version of a package installed from within macports "port" tool?


The old version of your software is likely still around. Check this by running:

port installed PACKAGE

where PACKAGE is what you want to downgrade. This will list out the "fully-qualified" name of the ports that match. You'll see the active port and the old, inactive port. You can switch them by doing something akin to this procedure:



  • +1 . Simple and effective - especially when the desire is to downgrade to a recently updated port. – DaveParillo Aug 14 '13 at 4:10

I don't think you can use an older version in MacPorts. The build list is maintained, and doesn't seem to contain many previous versions with the exception of a few packages such as mysql. So, if you do port search package, the results it shows is all it can do. In mysql's case, I can see there are mysql5, 4, and 3. If I wanted 4, I'd just do sudo port install mysql4.

If your package isn't listed, you might have to build from scratch.

  • The other answers provided options … it is doable. – Jeremy L Nov 13 '09 at 21:01

You can create an additional local portfile repository to override some packages. I use this to force MacPorts to use an older version of the 'screen' package (there is an open bug issue with newer versions).

The MacPorts guide has the details about how to configure this: http://guide.macports.org/#development.local-repositories

  • Furthering the idea, you can then grab the version of the Portfile you want and drop it in giving you back the old version. – Jeremy L Aug 26 '09 at 12:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.