An absolute must. If you have ever worked with apt-get
on Ubuntu, you know that it's the absolute developer bliss. Homebrew (or brew for short) is the missing package manager for OSX. Not only does it allow you to install/unisnstall/manage software with a few simple commands, the same way that apt-get
does. It allows you to access and install ports of most of the cross-platform utilities that you might be familiar with from Linux, over to OSX.
Simply open a new terminal and execute the following command:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Sometimes you might run into problems running Brew. The general advice here is to execute brew doctor
and follow the instructions you see there.
Here are a few of the more typical problems that I've personally stumbled upon:
Error: /usr/local must be writable!
This is a quite standard persmissions problem and usually occurs when you update the version of your Mac OS (OSX EL Capitan has been particularly well known for dropping permissions off /usr/local
) or a few other system applications.
The solutions to this is to give your user permissions again:
sudo chown -R $(whoami) /usr/local
UPDATE: In a recent version, brew update
migrated all of my packages under /usr/local/Homebrew
and then let me know that I can revert my permissions, not holding sudo access over /usr/local/
:
sudo chown root:wheel /usr/local
Most certainly your OS X comes with an outdated Java version or no Java at all. In any case, you sure need to install the latest one.
If you don't see the JAVA_HOME
environment variable, don't worry. You can easily set it, without having to know the exact path to your JDKs location. Add the following to your ~/.bash_profile
file:
export JAVA_HOME="$(/usr/libexec/java_home -v <JAVA_VERSION>)"
Where JAVA_VERSION will most probably be 1.8, but could also be set to 1.7 or 1.6 (depending on which version you installed)
SSH keys allow you to communicate with other machines or services, using an encrypted connection, and without having to type a password every time. Setting up an SSH key is highly recommended, if not even required by most services, used by developers: GitHub, Heroku, BitBucket, etc.
To generate a new SSH key, open a Terminal and type:
ssh-keygen -t rsa
and follow the instructions. By default, ssh-keygen
will generate a private key id_rsa
and a public one id_rsa.pub
and put them in the ~/.ssh
directory. You can, of course, decide to choose a different path and location for your key files. Keep in mind that if you do so, you would have to either explicitly tell applications where to look for your keys, or add configuration entires in your ~/.ssh/config
file. Both ways will be explained in further sections.
One of the common uses of SSH keys is to connect to other machines, without having to supply a password. To be able to do so, you have to share your newly generated public key with the remote machine. Open a terminal and type:
cat ~/.ssh/id_rsa.pub | ssh <REMOTE_MACHINE_ADDRESS> "cat >> ~/.ssh/authorized_keys"
The above command will require your password once, then it will append your public key over to the ~/.ssh/authorized_keys
file on the remote machine. The next time you log in to the remote machien via ssh
, your password will no longer be required.
Whether Git comes preinstalled on your OS X, or you set it up separately, make sure to have a look at the default settigns that it comes with. There are a couple of important setting that you might need to set up yourselves. For instance, your name and email. If you commit to a collaborative Git repository, your email and name are used to identify your commits, and distinguish them from those of your peers. Therefore, make sure to check the following two settings:
git config --get user.name
git config --get user.email
and change them to appropriate values, if needed:
git config --global user.name "John Doe"
git config --global user.email [email protected]
Another setting you would want to have a look at, is your core Git editor. The default is set to vim. If you are like me, and you still haven't managed to really master those vim skills, you should look forward to changing it with something more lightweight, like nano, for instance:
git config --global core.editor <YOUR_FAVORITE_EDITOR_EG_NANO_OR_EMACS>
A text editor is used all over the place by Git, so, better make sure to check that out.
RVM (Ruby Version Manager)
RVM allows you to install and manage multiple Ruby environments on the same machine. This is really helpful, since often gems require a version of Ruby, different from the one that OSX gets shipped with.
First and foremost, it is good to have Brew installed. You can use brew to install gpg - a security program used to check the security of the rvm download.
brew install gpg
Install the security key for rvm
command curl -sSL https://rvm.io/mpapis.asc | gpg --import -
And finally, rvm itself
curl -L https://get.rvm.io | bash -s stable
Composer is a dependency manager for PHP. It does the heaavy-duty job of automatically downloading dependency PHP libraries and organizing them in such a way that projects can use them right away. Composer is similar to Node.js' npm
, Ruby's gem
or Java's Ivy/Maven/Gradle
(though Gradle and Maven are full-scale build systems. Downloading dependencies is just of the many things they're used for).
Composer can be installed at a project level, or globally (at the user level). Installing Composer locally:
$ curl -sS https://getcomposer.org/installer | php
# now, you can run Composer using php
$ php composer.phar
or globally (which is basically, moving composer.phar
under //usr/local/bin/
):
$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer
$ composer
Makes it easier to open your favorite code editor from the command line, without having to open Finder first.
ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
to be continued ...
Oh wow, this looks good! I started my own a few months ago, but yours is pretty comprehensive.