(转)How to Install Xcode, Homebrew, Git, RVM, Ruby & Rails on Snow Leopard, Lion, and Mountain Lion

转载自http://www.moncefbelyamani.com/how-to-install-xcode-homebrew-git-rvm-ruby-on-mac/

谢谢原博主的好文章。转载请注明原出处。

After following many outdated and incomplete instructions for setting up a web development environment on a Mac (back in March 2012), and spending a lot of time finding solutions to the problems I encountered along the way, I decided to put together this detailed tutorial for Snow Leopard and Lion.

Over time, as tools have improved, I’ve updated this tutorial, focusing mainly on Mountain Lion. As of March 30, 2013, installing Xcode (or Apple’s standalone Command Line Tools), Homebrew, Git, RVM, Ruby, and Rails on Mountain Lion is a fairly stress-free process that’s no longer fraught with the issues from a year ago.

I started with a clean system, and the following are the steps that worked for me. If you run into an issue, or find an error in this tutorial, please let me know and I’ll update it.

If you’re on Mountain Lion, you can skip the historical background below and get started with Step 1.

Up until February 2012, the only way you could get the Command Line tools required for web development was via the full Xcode package, which is almost 2 GB in size. For Lion and Mountain Lion users, Apple now offers the Command Line Tools (CLT) as a separate, much smaller download (~118MB), which benefits those who don’t plan on writing Mac or iOS apps.

There is also a third-party option, the osx-gcc-installer by Kenneth Reitz, that supports both Snow Leopard and Lion. However, it is not updated as often as the official Apple tools, and I personally ran into issues with it on Lion.

When I tried Apple’s CLT for Lion back in March, they weren’t compatible with Homebrew:

1
2
3
Warning: Your Xcode is configured with an invalid path.
You should change it to the correct path. Please note that there is no correct
path at this time if you have *only* installed the Command Line Tools for Xcode.

As of August 6, 2012, the issue above is no longer present with the latest CLT for Mountain Lion, and I believe that’s the case on Lion as well, but I haven’t confirmed that yet. Until I do, I recommend getting the CLT from Xcode if you’re on Lion, as explained in this tutorial.

Step 1: Download and Install the Command Line Tools (via Xcode or the standalone installer)

Step 1 starts with Xcode instructions. Here’s a quick link to the standalone CLT instructions.

Installing Xcode on Lion or Mountain Lion

Click on this link to Xcode on the Mac App Store, then click on “View in Mac App Store.”

view in mac app store

It should automatically launch the “App Store” app on your Mac and take you the Xcode page. Click on the “Free” button, then click on “Install App.”

Once the installation is complete, go to your Applications folder and double-click on Xcode, then install any required components if asked to.

install mobile component

Go to Xcode’s Preferences via the menu bar, or by pressing the command and comma keys.

Go to Xcode Preferences

Click on the “Downloads” icon, then click on the “Install” button next to “Command Line Tools.”

Install Command Line Tools

When prompted to log in, you should be able to use the same email and password you use for iTunes and app purchases. Once the Command Line Tools are installed, you can quit Xcode and move on to Step 2.

IMPORTANT NOTE: If you upgraded to Mountain Lion from Lion, and you already had Xcode installed on Lion, and you updated to Xcode 4.4 and updated the Command Line Tools while still on Lion, you will have to go back to Xcode and download the Command Line Tools again after upgrading to Mountain Lion.

Installing the standalone Command Line Tools on Mountain Lion

Go to http://developer.apple.com/downloads and sign in with your Apple ID (the same one you use for iTunes and app purchases).

sign in to developer.apple.com

Search for “command line tools” (in the search field on the left), then click on the latest version of “Command Line Tools (OS X Mountain Lion) for Xcode,” and click on the the .dmg link to download it.

command line tools for mountain lion

Once the .dmg has finished downloading, double-click on it (if it didn’t already open automatically). This will mount the disk image and open a window in your Finder that looks like this:

command line tools package installer for mountain lion

Double-click on the “Command Line Tools (Mountain Lion).mpkg” installer and go through the installation. Once the CLT are installed, go to Step 2.

Snow Leopard Instructions

UPDATE: A kind reader (P. Martin) pointed out that the Xcode 4.2 download for Snow Leopard is only available to those registered in the $99/year developer program. I confirmed that the latest version of Xcode for Snow Leopard available to me while signed in with a free account is 3.2.6. I have not tested this setup with Xcode 3.2.6, but I would love to hear from you if you have. Otherwise, I recommend that you upgrade to Lion or Mountain Lion.

Go to http://developer.apple.com/downloads and sign in with your Apple ID (the same one you use for iTunes and app purchases).

Search for “xcode 4.2” (in the search field on the left), then click on “Xcode 4.2 for Snow Leopard,” and click on the the .dmg link to download it.

Download Xcode 4.2 for Snow Leopard

Once the .dmg has finished downloading, it should automatically mount the disk image and open a window in your Finder that looks like this:

Xcode package installer

Double-click on the “Xcode” package installer. Once the installer launches, make sure all the checkboxes are checked, as shown in the screenshot below:

Install Xcode

Click “Continue,” and go through the rest of the installation. If the installation fails, quit the installer, then run Software Update and install any updates that it finds.

run software update

If no new updates are available, restart your computer and try installing Xcode again. Once Xcode is successfully installed, you can move on to Step 2.

Step 2: Verify that GCC was installed

Launch the “Terminal” application, which you can find in the “Utilities” folder in “Applications”.

Location of the Terminal app in Finder

From now on, you will be copying and pasting (or typing) a lot of commands in Terminal. They will be formatted like so:

1
$ some command you will run

The “$” appears automatically at the end of the command prompt in Terminal after every command that you run. You will not be copying and pasting or typing the $, only what comes after it. After entering the command, you will press “return” to execute the command.

The first command we will run will serve to verify that Xcode successfully installed GCC:

1
$ gcc --version

If all went well, you should see the GCC version in the output: i686-apple-darwin10-llvm-gcc-4.2 (GCC) 4.2.1

checking gcc version in Terminal

On Mountain Lion, the output is slightly different:

gcc version on mountain lion

Step 3: Install Homebrew

Homebrew, “the missing package manager for OS X,” allows you to easily install hundreds of open-source tools. The full instructions are at https://github.com/mxcl/homebrew/wiki/installation, but you should only need to run this:

1
$ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

Run the command, and follow the instructions when prompted, as highlighted in the screenshot below. Note that Terminal does not provide visual feedback when you type your password. Just type it slowly and press return.

install homebrew on mountain lion

Once the installation is successful, run the following command:

1
$ brew doctor

If you get Your system is raring to brew, you can move on to Step 4. Otherwise, continue reading to learn how to fix errors and warnings you might run into.

If you get Warning: Experimental support for using Xcode without the "Command Line Tools", you probably upgraded from Lion to Mountain Lion but didn’t reinstall the Command Line Tools. See the important note in Step 1.

If you get Error: No such file or directory - /usr/local/Cellar, run the following command, which creates the /usr/local/Cellar directory:

1
$ sudo mkdir /usr/local/Cellar

sudo allows you to run commands as a user with higher access rights, which is why it prompts you for your password, and mkdirstands for “make directory.”

If you get /usr/local/etc isn't writable or Cannot write to /usr/local/Cellar (or any other directory inside /usr/local), fix it with this command:

1
$ sudo chown -R `whoami` /usr/local

This makes you the owner of the /usr/local directory, in addition to all nested directories.

chown stands for “change owner,” the -R flag applies this to all nested files and directories, and whoami is a variable that represents your OS X username. You should copy and paste the command above as is.

To learn more about any Unix command, type man (for “manual”), followed by the command. For example:

1
$ man chown

If a manual is longer than a page long, it will display a : at the end to signify there is more to read. To display one additional line at a time, press return. To display an additional page at a time, press the space bar. To quit at any time, press q.

Run brew doctor again. If you get Your system is raring to brew, you can move on to the next step. If you get Warning: /usr/bin occurs before /usr/local/bin, run this:

1
$ echo 'export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"' >> ~/.bash_profile

This command takes everything between the single quotes and adds it (>>) to a file called .bash_profile in your user’s root directory (~/). Every time you open a new Terminal window or tab, .bash_profile is called. The export PATH line tells your system to look in /usr/local/bin first. In Step 4, I explain why this is important.

Quit and relaunch Terminal, then run brew doctor once more. Your system should be raring to brew now.

If you’re on Lion, you might get this:

1
2
3
4
5
6
7
8
9
10
Warning: Your Xcode is configured with an invalid path.
You should change it to the correct path. Please note that there is no correct
path at this time if you have *only* installed the Command Line Tools for Xcode.
If your Xcode is pre-4.3 or you installed the whole of Xcode 4.3 then one of
these is (probably) what you want:
    sudo xcode-select -switch /Developer
    sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
DO NOT SET / OR EVERYTHING BREAKS!

This should fix it:

1
$ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

Run brew doctor to verify. Your system should be raring to brew now.

Step 4: Install Git

Git is the version control system of choice among many web developers. With Homebrew, installing Git is as easy as this:

1
2
$ brew update
$ brew install git

install git

Since we just installed Homebrew, we could have skipped brew update, but it’s a good habit to run it before installing anything with Homebrew because Homebrew is updated regularly.

Run brew doctor to make sure everything is still working. If you get Warning: /usr/bin occurs before /usr/local/bin, run this:

1
$ echo 'export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"' >> ~/.bash_profile

This command takes everything between the single quotes and adds it (>>) to a file called .bash_profile in your user’s root directory (~/). Every time you open a new Terminal window or tab, .bash_profile is called. The export PATH line tells your system to look in /usr/local/bin first. This is important because Xcode installs an older version of Git in /usr/bin, but we want to use the latest version that Homebrew installed in /usr/local/bin.

Quit and relaunch Terminal, then run brew doctor once more. Your system should be raring to brew now.

To verify:

1
$ which git

You should get /usr/local/bin/git.

Step 5: Configure Git with your Name and Email

1
2
$ git config --global user.name "Your Full Name"
$ git config --global user.email "Your Email Address"

Make sure you use the same email address for Git, GitHub, and Heroku. To learn more about Git, check out the various resources I’ve tagged with “git” on Pinboard.

Step 6: Install RVM with the latest Ruby (2.0.0) and Rails (3.2.13)

RVM stands for Ruby Version Manager, and is one of the most popular tools that allow you to install and manage multiple versions of Ruby and Rails on the same computer.

RVM has come a long way since I originally published this tutorial. As of March 30, 2013, you can now install the latest RVM, Ruby, and Rails in one step with this command:

1
$ \curl -L https://get.rvm.io | bash -s stable --rails --autolibs=enable

I verified this on a clean installation of Mountain Lion 10.8.3, but I have not tested it on Snow Leopard or Lion.

This will take a few minutes, and once it’s done, quit and relaunch Terminal, then run this command:

1
$ type rvm | head -1

If you get rvm is a function, that means RVM was successfully installed. If not, go to Step 7.

To make sure the latest versions of RVM, Ruby and Rails were installed, run the commands below:

For RVM

1
$ rvm -v

You should get rvm 1.19.1 or higher.

For Ruby

1
$ ruby -v

You should get ruby 2.0.0p0 or higher.

For Rails

1
$ rails -v

You should get Rails 3.2.13 or higher.

To make sure your system is still raring to brew:

1
$ brew doctor

If everything went well, you’re done! Your machine is now set up with the basic tools for web development. If you run into any issues, please let me know and I will do my best to help you. If you got any value out of my tutorial, please consider donating.

If you want to install another version of Ruby besides 2.0.0, follow the instructions in Step 8.

Step 7: Load RVM into your shell session as a function

1
$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile

By placing the script in .bash_profile, it ensures that every time you start a new Terminal session, you will be able to use all of RVM’s commands.

Now that .bash_profile has been modified, it needs to be reloaded. For initial RVM installations, the preferred way to do this is to quit and relaunch Terminal. Otherwise, you can use the following command:

1
$ source ~/.bash_profile

If all went well, you should see rvm is a function after you run this command:

1
$ type rvm | head -1

Step 8: Installing other versions of Ruby, such as 1.9.3

Before you install a version of Ruby with RVM, you should make sure you have the latest version of RVM:

1
$ rvm get stable --autolibs=enable

Then run:

1
$ rvm install 1.9.3

To see all the versions of Ruby installed via RVM:

1
$ rvm list rubies

This output also lets you know which version is the default and which one is the current one in use.

To use a specific version (2.0.0 in the example below) and also set it as the default version for new shell sessions:

1
$ rvm use 2.0.0 --default

To verify:

1
$ ruby -v

The version should match that of the current Ruby in use.

Next Steps

Once you start hacking away on your computer, you will most likely need to install more tools with Homebrew. Before you do, remember to always run brew update and brew doctor to make sure your system is still raring to brew. To upgrade your existing packages, run brew upgrade.

If you installed the full Xcode package, remember that when you update it via the Mac App Store, you might also need to update the Command Line Tools via Xcode’s Preferences. If you installed the standalone CLT, I recommend checking for a new version once a month or so.

Previous Notes

Installing Ruby on Snow Leopard and Lion is presumably as easy as on Mountain Lion, but I haven’t been able to verify that. The instructions below are based on my experience in 2012. I’ve left them here for reference but I’m not sure if they still apply. For example, running rvm requirements used to provide instructions specific to your environment, but now it tries to install all the requirements for you.

The screenshots below are examples of the kind of output rvm requirements would show. One is for Snow Leopard 10.6.8 with Xcode 4.2, and the other for Mountain Lion 10.8 with no Xcode:

configure rvm

didn't have to install libksba on mountain lion

According to the requirements, we must first install libksba. This applies to Snow Leopard, Lion and Mountain Lion.

We can do that easily with Homebrew, but first we should make sure it is up to date:

1
2
$ brew update
$ brew install libksba

Since Homebrew is updated regularly, it’s advisable to run brew update before installing anything with Homebrew.

Now we’re finally ready to install Ruby 1.9.3! If you’re on Snow Leopard, you need to add a flag to the command (as specified in the RVM requirements):

1
$ rvm install 1.9.3  --with-gcc=clang

install ruby 1.9.3

If you’re on Lion, you need to install automake first:

1
2
$ brew install automake
$ rvm install 1.9.3

Otherwise, you will get this error when installing Ruby 1.9.3:

1
rvm requires autoreconf to install the selected ruby interpreter however autoreconf was not found in the PATH.

rvm install 1.9.3 on lion

If you’re on Mountain Lion 10.8.2 with Xcode 4.5, you will need to run these commands first:

1
2
3
4
5
6
$ brew update
$ brew tap homebrew/dupes
$ brew install autoconf automake apple-gcc42
$ rvm pkg install openssl
$ rvm install 1.9.3 (or `rvm reinstall all --force` in case you had already installed ruby)
$ sudo ln -s /usr/local/bin/gcc-4.2 /usr/bin/gcc-4.2

The steps above are necessary for you to be able to install Ruby gems, such as Rails. Otherwise, you will run into errors such as these:

1
2
3
4
5
6
7
8
9
ERROR: Failed to build gem native extension
make: /usr/bin/gcc-4.2: No such file or directory 
Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers 
The compiler failed to generate an executable file
You have to install development tools first

If you got any value out of my tutorial, please consider donating.

原文地址:https://www.cnblogs.com/greywolf/p/3120519.html