GNU-Tools unter macOS

von Tobias Vetter
erstellt am 01. Juni 2023, zuletzt aktualisiert am 01. Juni 2023

Ein nicht seltenes Problem bei der Verwendung des Terminals unter macOS ist der Umstand, dass viele der GNU core utilities entweder fehlen oder anders funktionieren als man dies von GNU/Linux her kennt. Da diese jedoch der de facto Standard sind, kann dies zu seltsamen Fehlern führen. Hintergrund dieses Problem ist, dass macOS zwar ein POSIX-kompatibles Betriebssystem ist, aber aus der BSD-Familie stammt und nicht aus der GNU/Linux-Familie und entsprechend dessen Tools verwendet. Dieses Problem lässt sich allerdings wie folgt beheben:

  1. Öffne dein Terminal.

  2. Installiere Homebrew mit folgendem Befehl und folge den Anweisungen: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

  3. Installiere Oh My Zsh mit folgendem Befehl und folge den Anweisungen: sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

  4. Installiere die GNU core utilities mit folgendem Befehl: brew install coreutils

  5. Optional: Aktiviere das gnu-utils Plugin für Oh My Zsh, indem du in der Datei ~/.zshrc unter plugins den Eintrag gnu-utils hinzufügst. Die Zeile könnte dann etwa so aussehen: plugins=(git gnu-utils) Hast du dies getan, kannst du die GNU core utilities unter ihrem normalen Befehl aufrufen. Hast du dies nicht getan, musst du ihnen ein g voranstellen, also gls statt ls. Allerdings sind dann die BSD-Tools unter dem gleichen Namensraum nicht mehr verfügbar, was theoretisch zu Probleme führen könnte.