@evanphx I seem to have gotten it working without an openssl update on Mac OSX 10.5.8. My openssl is still the stock OSX 10.5.8, openssl 0.9.7. I can't explain exactly what I did to do so, it involved lots of hacking with lots of dead ends. Join Kevin Skoglund for an in-depth discussion in this video, Ruby for Mac OS 10.x, part of Ruby on Rails 4 Essential Training. If you've been itching to try out Ruby and/or Rails, if the Terminal is somewhat new to you, you may find that even the process of installing it can generate countless confusing errors. This article will detail the exact steps you need to follow to get Ruby up and running on your Mac.
- Cached
- Questions / Discussion Area - RubyGems.org Support
- Rubygems Issues For Mac Os
- How To Install And Run Ruby On Mac OS X - Dummies
Installation of Jekyll on Mac is usually less problematic than on Windows. However, you may run into permissions issues with Ruby that you must overcome. You should also use Bundler to be sure that you have all the required gems and other utilities on your computer to make the project run.
Edit meRuby and RubyGems
Ruby and RubyGems are usually installed by default on Macs. Open your Terminal and type
which ruby
and which gem
to confirm that you have Ruby and Rubygems. You should get a response indicating the location of Ruby and Rubygems.If you get responses that look like this:
![Rubygems Rubygems](/uploads/1/1/8/1/118143045/600321016.png)
and
Great! Skip down to the Bundler section.
However, if your location is something like
/Users/MacBookPro/.rvm/rubies/ruby-2.2.1/bin/gem
, which points to your system location of Rubygems, you will likely run into permissions errors when trying to get a gem. A sample permissions error (triggered when you try to install the jekyll gem such as gem install jekyll
) might look like this for Rubygems:Instead of changing the write permissions on your operating system’s version of Ruby and Rubygems (which could pose security issues), you can install another instance of Ruby (one that is writable) to get around this.
Install Homebrew
Homebrew is a package manager for the Mac, and you can use it to install an alternative instance of Ruby code. To install Homebrew, run this command:
If you already had Homebrew installed on your computer, be sure to update it:
Install Ruby through Homebrew
Now use Homebrew to install Ruby:
Log out of terminal, and then then log back in.
When you type
which ruby
and which gem
, you should get responses like this:And this:
Now Ruby and Rubygems are installed under your username, so these directories are writeable.
Note that if you don’t see these paths, try restarting your computer or try installing rbenv, which is a Ruby version management tool. If you still have issues getting a writeable version of Ruby, you need to resolve them before installing Bundler.
Install the Jekyll gem
At this point you should have a writeable version of Ruby and Rubygem on your machine.
Now use
gem
to install Jekyll:You can now use Jekyll to create new Jekyll sites following the quick-start instructions on Jekyllrb.com.
Installing dependencies through Bundler
Some Jekyll themes will require certain Ruby gem dependencies. These dependencies are stored in something called a Gemfile, which is packaged with the Jekyll theme. You can install these dependencies through Bundler. (Although you don’t need to install Bundler for this Documentation theme, it’s a good idea to do so.)
Bundler is a package manager for RubyGems. You can use it to get all the gems (or Ruby plugins) that you need for your Jekyll project.
You install Bundler by using the gem command with RubyGems:
Cached
If you’re prompted to switch to superuser mode (
sudo
) to get the correct permissions to install Bundler in that directory, avoid doing this. All other applications that need to use Bundler will likely not have the needed permissions to run.Bundler goes out and retreives all the gems that are specified in a Jekyll project’s Gemfile. If you have a gem that depends on other gems to work, Bundler will go out and retrieve all of the dependencies as well. (To learn more about Bundler, see About Ruby Gems.
The vanilla Jekyll site you create through
jekyll new my-awesome-site
doesn’t have a Gemfile, but many other themes (including the Documentation theme for Jekyll) do have a Gemfile.Serve the Jekyll Documentation theme
- Browse to the directory where you downloaded the Documentation theme for Jekyll.
- Type
jekyll serve
- Go to the preview address in the browser. (Make sure you include the
/
at the end.)
Resolve “No Github API authentication” errors
After making an edit, Jekyll auto-rebuilds the site. If you have the Gemfile in the theme with the github-pages gem, you may see the following error:
![Ruby Ruby](/uploads/1/1/8/1/118143045/862025991.jpg)
If you see this error, you will need to take some additional steps to resolve it. (Note that this error only appears if you have the github-pages gem in your gemfile.) The resolution involves adding a Github token and a cert file.
Note: These instructions apply to Mac OS X, but they’re highly similar to Windows. These instructions are adapted from a post on Knight Codes. If you’re on Windows, see the Knight Codes post for details instead of following along below.
Questions / Discussion Area - RubyGems.org Support
To resolve the “No Github API authentication” error:
- Follow Github’s instructions to create a personal access token.
- Open the .bash_profile file in your user directory:The file will open in your default terminal editor. If you don’t have a .bash_profile file, you can just create a file with this name. Note that files that begin with
.
are hidden, so if you’re looking in your user directory for the file, usels -a
to see hidden files. - In your .bash_profile file, reference your token as a system variable like this:Replace
abc123...
with your own token that you generated in step 1. - Go to [https://curl.haxx.se/ca/cacert.pem][https://curl.haxx.se/ca/cacert.pem]. Right-click the page, select **Save as, and save the file on your computer (save it somewhere safe, where you won’t delete it). Name the file cacert.
- Open your .bash_profile file again and add this line, replacing
Users/johndoe/projects/
with the path to your cacert.pem file: - Close and restart your terminal.
Rubygems Issues For Mac Os
Browse to your jekyll project and run
bundle exec jekyll serve
. Make an edit to a file and observe that no Github API errors appear when Jekyll rebuilds the project.