MacOS for developers: Pain points.

1) “gem install” doesn’t work

I’m not a Ruby developer, but once I wanted to install an app, which required me to run gem install .

$ gem install timetrap
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.6.0 directory.

2) “pip install” works, but executables not in PATH

$ pip3 install jupyterlab
[...] success
$ jupyter-lab
zsh: command not found: jupyter-lab
export PATH="$HOME/Library/Python/3.8/bin:$PATH"

3) Git rename lowerCase to upperCase

Say you want to rename app.js to App.js and commit to git .

Extra work to change case of a filename in git on MacOS

4) Installing apps: no official package manager

There is no apt install , prepare for the manual download + “drag n drop” experience… And GUI installers… And then manually adding the app to the PATH

Official VSCode installation instructions for MacOS
All apps on Mac are installed by drag and dropping a file into “Applications” folder
An example of a GUI app installer on MacOS
Endless problems with PATH…
You can’t just open downloaded executables…

5) Want to compile a C file in terminal? Requires XCode GUI…

You have to install Xcode — “the big ugly software development GUI”.

6) Uninstalling apps

Should be an easy and obvious thing… Nah, you have to google how to do it…

7) It is not possible to completely hide the bottom panel (“Dock”)

On Mac at the bottom of screen you have a panel with all the useless apps: Siri, Safari, FaceTime, Apple TV, etc.

“Dock” — the bottom panel

8) Unix commands are different from Linux: mv, ps, sed

I want to sort processes by cpu usage, stackoverflow answer:

$ ps --sort=-pcpu
ps: illegal option -- -
usage: ps [-AaCcEefhjlMmrSTvwXx] [-O fmt | -o fmt] [-G gid[,gid...]]
[-g grp[,grp...]] [-u [uid,uid...]]
[-p pid[,pid...]] [-t tty[,tty...]] [-U user[,user...]]
ps [-L]

9) Charging from the left side of laptop results in 400% CPU load by kernel_task

10) You can’t delete Apple TV, Safari, QuickTime

The “Delete” button for all the Apple apps simply doesn’t exist.

Conclusion

MacOS, like any other OS, has many pain points for development: often things just don’t work out of the box.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Ivan Sergiienko

Ivan Sergiienko

Software engineer who likes philosophy and wants to die. Welcome to my life!