My 2012 MacBook Air (11", i7 2GHz 8GB RAM) crashed and I had to erase the SSD and re-install macOS High Sierra with the Internet Recovery Mode tools. Once I had the working OS, I used the Migration Assistant to rebuild my system from a Time Machine backup. Upon restoring my system, I ended up with MacPorts as a User. I am at a loss to understand why this happened and am wondering if I should get rid of it?

$  port installed
Error: Current platform "darwin 17" does not match expected platform "darwin 16"
Error: If you upgraded your OS, please follow the migration instructions: https://trac.macports.org/wiki/Migration
OS platform mismatch
    while executing
"mportinit ui_options global_options global_variations"
Error: /opt/local/bin/port: Failed to initialize MacPorts, OS platform mismatch

I had originally started this computer with macOS Mountain Lion. I'd installed MacPorts when using macOS Sierra. Prior to the crash I had macOS High Sierra 10.13.3 (and that is what I have now).

As I recall, I've only used MacPorts ever to install one thing - I think it was Valgrind (which is not functional in High Sierra - so I don't need it). Of note - there is not a "MacPorts" User that I can login with or see in the Sys Prefs >>> Users & Groups:

enter image description here

...but there is a "macports" directory in /Users/:

enter image description here

Any ideas on why Migration Assistant would create a MacPorts user? Thought on how to and whether or not to nuke it (and any other MacPorts components?)


I removed MacPorts per their instructions: https://guide.macports.org/chunked/installing.macports.uninstalling.html

...and I removed /opt/local/bin from my $PATH, then deleted /Users/MacPorts.

Upon rebooting, MacPorts is still a User that shows up in the login screen. Also I get the following from dscl:

$  dscl . list /Users | grep -v '^_'

How do I get rid of this?

  • Darwin 16 is Sierra
    – klanomath
    Commented Mar 28, 2018 at 14:00
  • @klanomath yep. I'd installed MacPorts when I had Sierra. Had upgraded to High Sierra, then the Macbook Air crashed. Thanks!
    – MmmHmm
    Commented Mar 28, 2018 at 14:23
  • The answer also works for Catalina incidentally. I just had the same problem after an upgrade to MacBook Pro 16" (tired of the butterfly keyboard problems). Thanks a lot for asking the question.
    – Pryftan
    Commented Mar 5, 2020 at 12:45

1 Answer 1

$  dscl . list /Users | grep -v '^_'
macports <--------------------------------------------- remove?

$  /usr/bin/dscl . -search /Users name macports
macports        dsAttrTypeNative:name = (
    macports <----------------------------------------- confirm...

$  sudo /usr/bin/dscl . -delete "/Users/macports" <---- DELETE

$  dscl . list /Users | grep -v '^_' <----------------- GONE!

Also useful: sudo ls /var/db/dslocal/nodes/Default/users

Similarly, to delete the group "macports" use:

sudo /usr/bin/dscl . -delete "/Groups/macports"
  • This solution does not quite solve the OP's question about the account being a new login option after migration. While this is effective at removing the macports user from a possible account to log in as, it also breaks MacPorts which does need & use the user and group called macports. Fixing this seems to require reinstalling MacPorts. This post from the macports-users list offers some clarity.
    – roens
    Commented Jun 9, 2023 at 18:47
  • @roens The OP wanted to remove the macports user after deinstalling MacPorts.
    – nohillside
    Commented Jun 9, 2023 at 21:58
  • @nohillside My mistake… and now my earlier comment is too old to edit. Tho the other part of my earlier comment may help someone like myself, wanting to keep using MacPorts after Migration.
    – roens
    Commented Jun 10, 2023 at 23:56
  • 1
    @roens you can always post an answer yourself. Just make sure it adresses the question asked as well and stands on its own (so start with how to remove the user, not with „in addition to the other answer“).
    – nohillside
    Commented Jun 11, 2023 at 5:49

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .