For over 3 years I've used MacPorts to setup my development environment on Mac OS X, but with a recent reformat, I decided to forego
port in favor of
brew. I've switched to Homebrew for my package management, and I've gone with Cinderella specifically for web development.
Cinderella was appealing for a few reasons, mainly I got quite a few awesome tools such as node, redis, memcached and mondodb, while following the lead of Homebrew and using the existing tools I already had on a stock MacBook Pro, such as apache and php.
I immediately took issue with one thing though; Cinderella starts all of these services as Launchd items in
~/Library/LaunchAgents with the
KeepAlive options set. I wouldn't mind if this was a workstation, but it's my laptop and I don't always want those things running in the background
UPDATE: I made a ticket on the projects home and the developer responded back with a good point; it's better to have it "just work" than muddy it with configuration options. That said, I no longer take issue with with RunAtLoad option.
Easy enough to change though, just edit the files in
~/Library/LaunchAgents and turn those keys to
false and restart your machine and you'll be fine. Note that updating Cinderella will revert these changes, so until that's a configuration option you'll have to reset it each time.
Cinderella sets up PostgreSQL and MySQL for you, but postgres is ran as your normal user, instead of a
postgres user like MacPorts. This was actually a relief to me. Maybe that's not "the way it should be", but this is a dev environment not production. I did however miss that this meant the default user was also gone... so
psql -U postgres was returning a fatal error because the role
postgres didn't exist. Cinderella actually creates a default user of your own username, so
psql -U will log you in, and if you're like me, you can then create your default user and feel right at home.
Cinderella is under development and hosted on Github, so head over there and get some hardcore forking action