Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Update: shell script for The Install - Lion

  • Loading branch information...
commit 640a87a205ef782ae7a59bf396aa2170089b1664 1 parent e4b5e5e
@therubymug authored
View
22 _webby/content/blog/2011/07/26/the-install-osx-lion.txt
@@ -8,6 +8,24 @@ filter:
- textile
- coderay
---
+*update*: [2011-08-23] minor updates
+*update*: [2011-11-05] I have automated this blog post into a shell script. Check it out "here":https://gist.github.com/1341873
+
+h3. TL;DR
+
+- Copy & paste the following into a Terminal window:
+
+<notextile>
+<coderay:text>
+test -f /tmp/the_install.sh && rm /tmp/the_install.sh
+curl -s\
+ https://raw.github.com/gist/1341873/e63fc6de770f6d993b928ce77eec5de98b3bfdcd/the_install.sh \
+ -o /tmp/the_install.sh
+chmod 0700 /tmp/the_install.sh
+. /tmp/the_install.sh
+</coderay>
+</notextile>
+
h3. The saga continues
So this is the follow-up post to "The Install - Snow Leopard Edition":http://blog.therubymug.com/blog/2010/05/20/the-install-osx.html which helped you, the "Ruby":http://ruby-lang.org developer, set up a near-perfect development environment in Mac OS X. Only this time it's on Apple's latest version of Mac OS X, 10.7 (Lion). Again, feel free to copy and paste the commands into your terminal.
@@ -18,7 +36,7 @@ This post walks you through setting up a very sustainable "Ruby":http://ruby-lan
h3. A Word of Caution
-As usual, while it is unlikely any instruction given below might damage your system, it’s always a good idea to backup everything before doing any of it, just in case. I am not responsible for anything that may result from following the instructions below. Proceed at your own risk.
+As usual, while it is unlikely any instruction given below might damage your system, it’s always a good idea to back up everything before doing any of it, just in case. I am not responsible for anything that may result from following the instructions below. Proceed at your own risk.
h3. Step 0:
@@ -208,6 +226,4 @@ ssh-keygen -t rsa
h1. _Enjoy_
-*update*: [2011-08-23] minor updates
-
fn1. "More info":http://support.apple.com/kb/HT4017
View
2  blog/2010/04/index.html
@@ -43,7 +43,7 @@
<a href="/blog/2010/04/20/engine-yard-cloud-and-resque-web.html">Engine Yard Cloud and Resque-Web</a>
</div>
<div class='meta'>
- <abbr class='published' title='Tue Apr 20 17:13:16 -0400 2010'>
+ <abbr class='published' title='Tue Apr 20 16:13:16 -0500 2010'>
Posted April 20, 2010
</abbr>
</div>
View
4 blog/2011/07/26/the-install-osx-lion.html
@@ -41,12 +41,12 @@
<a href="/blog/2011/07/26/the-install-osx-lion.html">The Install (Lion Edition)</a>
</div>
<div class='meta'>
- <abbr class='published' title='Tue Jul 26 15:51:17 -0400 2011'>
+ <abbr class='published' title='Tue Jul 26 14:51:17 -0500 2011'>
Posted July 26, 2011
</abbr>
</div>
<div class='content'>
- <h3>The saga continues</h3>&#x000A;<p>So this is the follow-up post to <a href="http://blog.therubymug.com/blog/2010/05/20/the-install-osx.html">The Install &#8211; Snow Leopard Edition</a> which helped you, the <a href="http://ruby-lang.org">Ruby</a> developer, set up a near-perfect development environment in Mac OS X. Only this time it&#8217;s on Apple&#8217;s latest version of Mac OS X, 10.7 (Lion). Again, feel free to copy and paste the commands into your terminal.</p>&#x000A;<h3>Take-away</h3>&#x000A;<p>This post walks you through setting up a very sustainable <a href="http://ruby-lang.org">Ruby</a> development environment on your Mac. You&#8217;ll be able to write <a href="http://rubyonrails.org">Ruby on Rails</a> apps along with anything else that uses Ruby. e.g. <a href="http://www.sinatrarb.com">Sinatra</a>, <a href="http://www.padrinorb.com">Padrino</a>, <a href="http://www.merbivore.com/index.html">Merb</a>, et al. It is also the setup we use everyday at <a href="http://hashrocket.com">Hashrocket</a>.</p>&#x000A;<h3>A Word of Caution</h3>&#x000A;<p>As usual, while it is unlikely any instruction given below might damage your system, it’s always a good idea to backup everything before doing any of it, just in case. I am not responsible for anything that may result from following the instructions below. Proceed at your own risk.</p>&#x000A;<h3>Step 0:</h3>&#x000A;<p>- <a href="http://guide.macports.org/chunked/installing.macports.uninstalling.html">Uninstall MacPorts!</a></p>&#x000A;<h3>Prerequisite OS X Apps:</h3>&#x000A;<p>- <a href="http://www.google.com/chrome">Chrome</a> (+ vimium)<br />&#x000A;- <a href="http://www.getfirefox.com">Firefox</a> (+ firebug, <del>note that Selenium is not yet compatible with Firefox 5</del>)<br />&#x000A;- <a href="http://fluidapp.com/">Fluid.app</a><br />&#x000A;- <a href="http://gitx.frim.nl/">Gitx</a><br />&#x000A;- <a href="http://www.irradiatedsoftware.com/sizeup/">SizeUp</a><br />&#x000A;- <a href="http://www.abyssoft.com/software/teleport/">Teleport</a></p>&#x000A;<h3>Install Xcode</h3>&#x000A;<p>You <em>need</em> to install Xcode for <em>homebrew</em> to compile code from source. It&#8217;s free in the Mac App Store! <a href="http://itunes.apple.com/us/app/xcode/id448457090?mt=12">Xcode</a></p>&#x000A;<h3>OS X Named Streams issue <sup class="footnote" id="fnr1"><a href="#fn1">1</a></sup></h3>&#x000A;<p>- Fix it system wide, with the following:</p>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">echo &quot;[default]&quot; | sudo tee /etc/nsmb.conf<tt>&#x000A;</tt>echo &quot;streams=no&quot; | sudo tee -a /etc/nsmb.conf</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h3>Install homebrew</h3>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt>3<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">sudo mkdir /usr/local<tt>&#x000A;</tt>sudo chown -R `whoami` /usr/local<tt>&#x000A;</tt>curl -L https://github.com/mxcl/homebrew/tarball/master | tar xz --strip 1 -C /usr/local</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h3>Create .bash_profile</h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> echo <span class="s"><span class="dl">'</span><span class="k">. &quot;$HOME/.bashrc&quot;</span><span class="dl">'</span></span> &gt; ~<span class="rx"><span class="dl">/</span><span class="k">.bash_profile</span></span></pre></div>&#x000A;</div>&#x000A;&#x000A;<h3>Install MacVim</h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> brew install macvim</pre></div>&#x000A;</div>&#x000A;&#x000A;<h3>Install utilities</h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> brew install wget proctools ack ctags-exuberant markdown</pre></div>&#x000A;</div>&#x000A;&#x000A;<h3>Install ImageMagick <em>(optional)</em></h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> brew install imagemagick</pre></div>&#x000A;</div>&#x000A;&#x000A;<h3>Get git</h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> brew install git</pre></div>&#x000A;</div>&#x000A;&#x000A;<h3>dotfiles, dev folder</h3>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt>3<tt>&#x000A;</tt>4<tt>&#x000A;</tt>5<tt>&#x000A;</tt>6<tt>&#x000A;</tt>7<tt>&#x000A;</tt>8<tt>&#x000A;</tt>9<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">mkdir ~/hashrocket<tt>&#x000A;</tt>cd ~/hashrocket<tt>&#x000A;</tt>git clone https://github.com/hashrocket/dotmatrix.git<tt>&#x000A;</tt><tt>&#x000A;</tt>ln -s ~/hashrocket/dotmatrix/.bashrc ~/<tt>&#x000A;</tt>ln -s ~/hashrocket/dotmatrix/.hashrc ~/<tt>&#x000A;</tt>ln -s ~/hashrocket/dotmatrix/.vim ~/<tt>&#x000A;</tt>ln -s ~/hashrocket/dotmatrix/.vimrc ~/<tt>&#x000A;</tt>sh ~/hashrocket/dotmatrix/bin/vimbundles.sh</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h3>Install <a href="http://rvm.beginrescueend.com/rvm/install/">rvm</a></h3>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt>3<tt>&#x000A;</tt>4<tt>&#x000A;</tt>5<tt>&#x000A;</tt>6<tt>&#x000A;</tt>7<tt>&#x000A;</tt>8<tt>&#x000A;</tt>9<tt>&#x000A;</tt><strong>10</strong><tt>&#x000A;</tt>11<tt>&#x000A;</tt>12<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">bash &lt; &lt;(curl -s https://rvm.beginrescueend.com/install/rvm)<tt>&#x000A;</tt><tt>&#x000A;</tt>echo 'if [[ -s &quot;$HOME/.rvm/scripts/rvm&quot; ]] ; then source &quot;$HOME/.rvm/scripts/rvm&quot; ; fi' \<tt>&#x000A;</tt> &gt;&gt; ~/.bashrc.local<tt>&#x000A;</tt><tt>&#x000A;</tt>echo -e &quot;export rvm_project_rvmrc_default=1<tt>&#x000A;</tt>export rvm_install_on_use_flag=1<tt>&#x000A;</tt>export rvm_project_rvmrc=1<tt>&#x000A;</tt>export rvm_path='$HOME/.rvm'&quot; &gt; ~/.rvmrc<tt>&#x000A;</tt><tt>&#x000A;</tt>echo '[[ -r $rvm_path/scripts/completion ]] &amp;&amp; source $rvm_path/scripts/completion' \<tt>&#x000A;</tt> &gt;&gt; ~/.bashrc.local # rvm autocompletion</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h3>Create your .gemrc by copying &amp; pasting the following in your terminal:</h3>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt>3<tt>&#x000A;</tt>4<tt>&#x000A;</tt>5<tt>&#x000A;</tt>6<tt>&#x000A;</tt>7<tt>&#x000A;</tt>8<tt>&#x000A;</tt>9<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">echo -e '---<tt>&#x000A;</tt>:benchmark: false<tt>&#x000A;</tt>gem: --no-ri --no-rdoc<tt>&#x000A;</tt>:update_sources: true<tt>&#x000A;</tt>:bulk_threshold: 1000<tt>&#x000A;</tt>:verbose: true<tt>&#x000A;</tt>:sources:<tt>&#x000A;</tt>- http://rubygems.org<tt>&#x000A;</tt>:backtrace: false' &gt; ~/.gemrc</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h3>Setup your <em>global</em> gems</h3>&#x000A;A neat feature of rvm is defining the gems every <em>rvm-controlled</em> ruby will install on its <em>global</em> gemset. More <a href="http://blog.therubymug.com/blog/2010/09/23/going-global-with-rvm-gemsets.html">here</a>&#x000A;<p>Simply add your desired gems to the file: ~/.rvm/gemsets/global.gems like so:</p>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt>3<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">rake -v0.9.2<tt>&#x000A;</tt>hitch<tt>&#x000A;</tt>dirty</pre></td>&#x000A;</tr></table>&#x000A;<p><strong>Now</strong> each time you <code>rvm install</code> a ruby version, you&#8217;ll have hitch, dirty and rake version 0.9.2!</p>&#x000A;<h3>Install the rubies to your heart&#8217;s content</h3>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt>3<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">rvm install 1.8.7<tt>&#x000A;</tt>rvm install 1.9.2<tt>&#x000A;</tt>rvm use 1.9.2 --default</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h3><code>Mongo</code></h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> brew install mongo <span class="c"># Follow instructions</span></pre></div>&#x000A;</div>&#x000A;&#x000A;<h3><code>Postgresql</code></h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> brew install postgresql <span class="c"># Follow instructions</span></pre></div>&#x000A;</div>&#x000A;&#x000A;<h3><code>MySQL</code></h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> brew install mysql <span class="c"># Follow instructions</span></pre></div>&#x000A;</div>&#x000A;&#x000A;<h3>Generate a pubkey for this box</h3>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">ssh-keygen -t rsa<tt>&#x000A;</tt># Add public key to your github account</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h1><em>Enjoy</em></h1>&#x000A;<p><strong>update</strong>: [2011-08-23] minor updates</p>&#x000A;<p class="footnote" id="fn1"><a href="#fnr1"><sup>1</sup></a> <a href="http://support.apple.com/kb/HT4017">More info</a></p>
+ <p><strong>update</strong>: [2011-08-23] minor updates<br />&#x000A;<strong>update</strong>: [2011-11-05] I have automated this blog post into a shell script. Check it out <a href="https://gist.github.com/1341873">here</a></p>&#x000A;<h3>TL;DR</h3>&#x000A;<p>- Copy &amp; paste the following into a Terminal window:</p>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt>3<tt>&#x000A;</tt>4<tt>&#x000A;</tt>5<tt>&#x000A;</tt>6<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">test -f /tmp/the_install.sh &amp;&amp; rm /tmp/the_install.sh<tt>&#x000A;</tt>curl -s\<tt>&#x000A;</tt> https://raw.github.com/gist/1341873/e63fc6de770f6d993b928ce77eec5de98b3bfdcd/the_install.sh \<tt>&#x000A;</tt> -o /tmp/the_install.sh<tt>&#x000A;</tt>chmod 0700 /tmp/the_install.sh<tt>&#x000A;</tt>. /tmp/the_install.sh</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h3>The saga continues</h3>&#x000A;<p>So this is the follow-up post to <a href="http://blog.therubymug.com/blog/2010/05/20/the-install-osx.html">The Install &#8211; Snow Leopard Edition</a> which helped you, the <a href="http://ruby-lang.org">Ruby</a> developer, set up a near-perfect development environment in Mac OS X. Only this time it&#8217;s on Apple&#8217;s latest version of Mac OS X, 10.7 (Lion). Again, feel free to copy and paste the commands into your terminal.</p>&#x000A;<h3>Take-away</h3>&#x000A;<p>This post walks you through setting up a very sustainable <a href="http://ruby-lang.org">Ruby</a> development environment on your Mac. You&#8217;ll be able to write <a href="http://rubyonrails.org">Ruby on Rails</a> apps along with anything else that uses Ruby. e.g. <a href="http://www.sinatrarb.com">Sinatra</a>, <a href="http://www.padrinorb.com">Padrino</a>, <a href="http://www.merbivore.com/index.html">Merb</a>, et al. It is also the setup we use everyday at <a href="http://hashrocket.com">Hashrocket</a>.</p>&#x000A;<h3>A Word of Caution</h3>&#x000A;<p>As usual, while it is unlikely any instruction given below might damage your system, it’s always a good idea to back up everything before doing any of it, just in case. I am not responsible for anything that may result from following the instructions below. Proceed at your own risk.</p>&#x000A;<h3>Step 0:</h3>&#x000A;<p>- <a href="http://guide.macports.org/chunked/installing.macports.uninstalling.html">Uninstall MacPorts!</a></p>&#x000A;<h3>Prerequisite OS X Apps:</h3>&#x000A;<p>- <a href="http://www.google.com/chrome">Chrome</a> (+ vimium)<br />&#x000A;- <a href="http://www.getfirefox.com">Firefox</a> (+ firebug, <del>note that Selenium is not yet compatible with Firefox 5</del>)<br />&#x000A;- <a href="http://fluidapp.com/">Fluid.app</a><br />&#x000A;- <a href="http://gitx.frim.nl/">Gitx</a><br />&#x000A;- <a href="http://www.irradiatedsoftware.com/sizeup/">SizeUp</a><br />&#x000A;- <a href="http://www.abyssoft.com/software/teleport/">Teleport</a></p>&#x000A;<h3>Install Xcode</h3>&#x000A;<p>You <em>need</em> to install Xcode for <em>homebrew</em> to compile code from source. It&#8217;s free in the Mac App Store! <a href="http://itunes.apple.com/us/app/xcode/id448457090?mt=12">Xcode</a></p>&#x000A;<h3>OS X Named Streams issue <sup class="footnote" id="fnr1"><a href="#fn1">1</a></sup></h3>&#x000A;<p>- Fix it system wide, with the following:</p>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">echo &quot;[default]&quot; | sudo tee /etc/nsmb.conf<tt>&#x000A;</tt>echo &quot;streams=no&quot; | sudo tee -a /etc/nsmb.conf</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h3>Install homebrew</h3>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt>3<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">sudo mkdir /usr/local<tt>&#x000A;</tt>sudo chown -R `whoami` /usr/local<tt>&#x000A;</tt>curl -L https://github.com/mxcl/homebrew/tarball/master | tar xz --strip 1 -C /usr/local</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h3>Create .bash_profile</h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> echo <span class="s"><span class="dl">'</span><span class="k">. &quot;$HOME/.bashrc&quot;</span><span class="dl">'</span></span> &gt; ~<span class="rx"><span class="dl">/</span><span class="k">.bash_profile</span></span></pre></div>&#x000A;</div>&#x000A;&#x000A;<h3>Install MacVim</h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> brew install macvim</pre></div>&#x000A;</div>&#x000A;&#x000A;<h3>Install utilities</h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> brew install wget proctools ack ctags-exuberant markdown</pre></div>&#x000A;</div>&#x000A;&#x000A;<h3>Install ImageMagick <em>(optional)</em></h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> brew install imagemagick</pre></div>&#x000A;</div>&#x000A;&#x000A;<h3>Get git</h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> brew install git</pre></div>&#x000A;</div>&#x000A;&#x000A;<h3>dotfiles, dev folder</h3>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt>3<tt>&#x000A;</tt>4<tt>&#x000A;</tt>5<tt>&#x000A;</tt>6<tt>&#x000A;</tt>7<tt>&#x000A;</tt>8<tt>&#x000A;</tt>9<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">mkdir ~/hashrocket<tt>&#x000A;</tt>cd ~/hashrocket<tt>&#x000A;</tt>git clone https://github.com/hashrocket/dotmatrix.git<tt>&#x000A;</tt><tt>&#x000A;</tt>ln -s ~/hashrocket/dotmatrix/.bashrc ~/<tt>&#x000A;</tt>ln -s ~/hashrocket/dotmatrix/.hashrc ~/<tt>&#x000A;</tt>ln -s ~/hashrocket/dotmatrix/.vim ~/<tt>&#x000A;</tt>ln -s ~/hashrocket/dotmatrix/.vimrc ~/<tt>&#x000A;</tt>sh ~/hashrocket/dotmatrix/bin/vimbundles.sh</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h3>Install <a href="http://rvm.beginrescueend.com/rvm/install/">rvm</a></h3>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt>3<tt>&#x000A;</tt>4<tt>&#x000A;</tt>5<tt>&#x000A;</tt>6<tt>&#x000A;</tt>7<tt>&#x000A;</tt>8<tt>&#x000A;</tt>9<tt>&#x000A;</tt><strong>10</strong><tt>&#x000A;</tt>11<tt>&#x000A;</tt>12<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">bash &lt; &lt;(curl -s https://rvm.beginrescueend.com/install/rvm)<tt>&#x000A;</tt><tt>&#x000A;</tt>echo 'if [[ -s &quot;$HOME/.rvm/scripts/rvm&quot; ]] ; then source &quot;$HOME/.rvm/scripts/rvm&quot; ; fi' \<tt>&#x000A;</tt> &gt;&gt; ~/.bashrc.local<tt>&#x000A;</tt><tt>&#x000A;</tt>echo -e &quot;export rvm_project_rvmrc_default=1<tt>&#x000A;</tt>export rvm_install_on_use_flag=1<tt>&#x000A;</tt>export rvm_project_rvmrc=1<tt>&#x000A;</tt>export rvm_path='$HOME/.rvm'&quot; &gt; ~/.rvmrc<tt>&#x000A;</tt><tt>&#x000A;</tt>echo '[[ -r $rvm_path/scripts/completion ]] &amp;&amp; source $rvm_path/scripts/completion' \<tt>&#x000A;</tt> &gt;&gt; ~/.bashrc.local # rvm autocompletion</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h3>Create your .gemrc by copying &amp; pasting the following in your terminal:</h3>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt>3<tt>&#x000A;</tt>4<tt>&#x000A;</tt>5<tt>&#x000A;</tt>6<tt>&#x000A;</tt>7<tt>&#x000A;</tt>8<tt>&#x000A;</tt>9<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">echo -e '---<tt>&#x000A;</tt>:benchmark: false<tt>&#x000A;</tt>gem: --no-ri --no-rdoc<tt>&#x000A;</tt>:update_sources: true<tt>&#x000A;</tt>:bulk_threshold: 1000<tt>&#x000A;</tt>:verbose: true<tt>&#x000A;</tt>:sources:<tt>&#x000A;</tt>- http://rubygems.org<tt>&#x000A;</tt>:backtrace: false' &gt; ~/.gemrc</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h3>Setup your <em>global</em> gems</h3>&#x000A;A neat feature of rvm is defining the gems every <em>rvm-controlled</em> ruby will install on its <em>global</em> gemset. More <a href="http://blog.therubymug.com/blog/2010/09/23/going-global-with-rvm-gemsets.html">here</a>&#x000A;<p>Simply add your desired gems to the file: ~/.rvm/gemsets/global.gems like so:</p>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt>3<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">rake -v0.9.2<tt>&#x000A;</tt>hitch<tt>&#x000A;</tt>dirty</pre></td>&#x000A;</tr></table>&#x000A;<p><strong>Now</strong> each time you <code>rvm install</code> a ruby version, you&#8217;ll have hitch, dirty and rake version 0.9.2!</p>&#x000A;<h3>Install the rubies to your heart&#8217;s content</h3>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt>3<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">rvm install 1.8.7<tt>&#x000A;</tt>rvm install 1.9.2<tt>&#x000A;</tt>rvm use 1.9.2 --default</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h3><code>Mongo</code></h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> brew install mongo <span class="c"># Follow instructions</span></pre></div>&#x000A;</div>&#x000A;&#x000A;<h3><code>Postgresql</code></h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> brew install postgresql <span class="c"># Follow instructions</span></pre></div>&#x000A;</div>&#x000A;&#x000A;<h3><code>MySQL</code></h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> brew install mysql <span class="c"># Follow instructions</span></pre></div>&#x000A;</div>&#x000A;&#x000A;<h3>Generate a pubkey for this box</h3>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">ssh-keygen -t rsa<tt>&#x000A;</tt># Add public key to your github account</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h1><em>Enjoy</em></h1>&#x000A;<p class="footnote" id="fn1"><a href="#fnr1"><sup>1</sup></a> <a href="http://support.apple.com/kb/HT4017">More info</a></p>
</div>
<div class='comments'>
<div id='disqus_thread'></div>
View
55 feed/atom.xml
@@ -4,7 +4,7 @@
<title>Rogelio J. Samour</title>
<link href="http://feeds.feedburner.com/TheRubyMug" type="application/atom+xml" rel="self" />
<link href="http://blog.therubymug.com/" type="text/html" rel="alternate" />
- <updated>2011-08-24T01:14:54-04:00</updated>
+ <updated>2011-11-05T23:13:43-05:00</updated>
<author>
<name>Rogelio J. Samour</name>
<email>blog@therubymug.com</email>
@@ -17,14 +17,34 @@
<id>tag:blog.therubymug.com,2011-07-26:1311709877</id>
- <published>2011-07-26T15:51:17-04:00</published>
- <updated>2011-07-26T15:51:17-04:00</updated>
- <content type="html">&lt;h3&gt;The saga continues&lt;/h3&gt;
+ <published>2011-07-26T14:51:17-05:00</published>
+ <updated>2011-07-26T14:51:17-05:00</updated>
+ <content type="html">&lt;p&gt;&lt;strong&gt;update&lt;/strong&gt;: [2011-08-23] minor updates&lt;br /&gt;
+&lt;strong&gt;update&lt;/strong&gt;: [2011-11-05] I have automated this blog post into a shell script. Check it out &lt;a href=&quot;https://gist.github.com/1341873&quot;&gt;here&lt;/a&gt;&lt;/p&gt;
+&lt;h3&gt;TL;DR&lt;/h3&gt;
+&lt;p&gt;- Copy &amp;amp; paste the following into a Terminal window:&lt;/p&gt;
+&lt;table class=&quot;CodeRay&quot;&gt;&lt;tr&gt;
+ &lt;td class=&quot;line_numbers&quot; title=&quot;click to toggle&quot; onclick=&quot;with (this.firstChild.style) { display = (display == '') ? 'none' : '' }&quot;&gt;&lt;pre&gt;1&lt;tt&gt;
+&lt;/tt&gt;2&lt;tt&gt;
+&lt;/tt&gt;3&lt;tt&gt;
+&lt;/tt&gt;4&lt;tt&gt;
+&lt;/tt&gt;5&lt;tt&gt;
+&lt;/tt&gt;6&lt;tt&gt;
+&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
+ &lt;td class=&quot;code&quot;&gt;&lt;pre ondblclick=&quot;with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }&quot;&gt;test -f /tmp/the_install.sh &amp;amp;&amp;amp; rm /tmp/the_install.sh&lt;tt&gt;
+&lt;/tt&gt;curl -s\&lt;tt&gt;
+&lt;/tt&gt; https://raw.github.com/gist/1341873/e63fc6de770f6d993b928ce77eec5de98b3bfdcd/the_install.sh \&lt;tt&gt;
+&lt;/tt&gt; -o /tmp/the_install.sh&lt;tt&gt;
+&lt;/tt&gt;chmod 0700 /tmp/the_install.sh&lt;tt&gt;
+&lt;/tt&gt;. /tmp/the_install.sh&lt;/pre&gt;&lt;/td&gt;
+&lt;/tr&gt;&lt;/table&gt;
+
+&lt;h3&gt;The saga continues&lt;/h3&gt;
&lt;p&gt;So this is the follow-up post to &lt;a href=&quot;http://blog.therubymug.com/blog/2010/05/20/the-install-osx.html&quot;&gt;The Install &amp;#8211; Snow Leopard Edition&lt;/a&gt; which helped you, the &lt;a href=&quot;http://ruby-lang.org&quot;&gt;Ruby&lt;/a&gt; developer, set up a near-perfect development environment in Mac OS X. Only this time it&amp;#8217;s on Apple&amp;#8217;s latest version of Mac OS X, 10.7 (Lion). Again, feel free to copy and paste the commands into your terminal.&lt;/p&gt;
&lt;h3&gt;Take-away&lt;/h3&gt;
&lt;p&gt;This post walks you through setting up a very sustainable &lt;a href=&quot;http://ruby-lang.org&quot;&gt;Ruby&lt;/a&gt; development environment on your Mac. You&amp;#8217;ll be able to write &lt;a href=&quot;http://rubyonrails.org&quot;&gt;Ruby on Rails&lt;/a&gt; apps along with anything else that uses Ruby. e.g. &lt;a href=&quot;http://www.sinatrarb.com&quot;&gt;Sinatra&lt;/a&gt;, &lt;a href=&quot;http://www.padrinorb.com&quot;&gt;Padrino&lt;/a&gt;, &lt;a href=&quot;http://www.merbivore.com/index.html&quot;&gt;Merb&lt;/a&gt;, et al. It is also the setup we use everyday at &lt;a href=&quot;http://hashrocket.com&quot;&gt;Hashrocket&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;A Word of Caution&lt;/h3&gt;
-&lt;p&gt;As usual, while it is unlikely any instruction given below might damage your system, it’s always a good idea to backup everything before doing any of it, just in case. I am not responsible for anything that may result from following the instructions below. Proceed at your own risk.&lt;/p&gt;
+&lt;p&gt;As usual, while it is unlikely any instruction given below might damage your system, it’s always a good idea to back up everything before doing any of it, just in case. I am not responsible for anything that may result from following the instructions below. Proceed at your own risk.&lt;/p&gt;
&lt;h3&gt;Step 0:&lt;/h3&gt;
&lt;p&gt;- &lt;a href=&quot;http://guide.macports.org/chunked/installing.macports.uninstalling.html&quot;&gt;Uninstall MacPorts!&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Prerequisite OS X Apps:&lt;/h3&gt;
@@ -206,7 +226,6 @@ A neat feature of rvm is defining the gems every &lt;em&gt;rvm-controlled&lt;/em
&lt;/tr&gt;&lt;/table&gt;
&lt;h1&gt;&lt;em&gt;Enjoy&lt;/em&gt;&lt;/h1&gt;
-&lt;p&gt;&lt;strong&gt;update&lt;/strong&gt;: [2011-08-23] minor updates&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn1&quot;&gt;&lt;a href=&quot;#fnr1&quot;&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt; &lt;a href=&quot;http://support.apple.com/kb/HT4017&quot;&gt;More info&lt;/a&gt;&lt;/p&gt;</content>
</entry>
@@ -216,8 +235,8 @@ A neat feature of rvm is defining the gems every &lt;em&gt;rvm-controlled&lt;/em
<id>tag:blog.therubymug.com,2010-09-23:1285289297</id>
- <published>2010-09-23T20:48:17-04:00</published>
- <updated>2010-09-23T20:48:17-04:00</updated>
+ <published>2010-09-23T19:48:17-05:00</published>
+ <updated>2010-09-23T19:48:17-05:00</updated>
<content type="html">&lt;p&gt;I wanted to share briefly on installing &lt;a href=&quot;http://rvm.beginrescueend.com/gemsets/initial&quot;&gt;global or default gems&lt;/a&gt; in your rvm-controlled rubies. So here it is, say you wanted to always have a certain list of gems installed in all versions of ruby that your rvm controls. Right now you&amp;#8217;d have to do something like this to install one or more gems in all your rubies:&lt;/p&gt;
&lt;table class=&quot;CodeRay&quot;&gt;&lt;tr&gt;
&lt;td class=&quot;line_numbers&quot; title=&quot;click to toggle&quot; onclick=&quot;with (this.firstChild.style) { display = (display == '') ? 'none' : '' }&quot;&gt;&lt;pre&gt;1&lt;tt&gt;
@@ -301,8 +320,8 @@ A neat feature of rvm is defining the gems every &lt;em&gt;rvm-controlled&lt;/em
<id>tag:blog.therubymug.com,2010-08-25:1282713532</id>
- <published>2010-08-25T01:18:52-04:00</published>
- <updated>2010-08-25T01:18:52-04:00</updated>
+ <published>2010-08-25T00:18:52-05:00</published>
+ <updated>2010-08-25T00:18:52-05:00</updated>
<content type="html">&lt;p&gt;I recently released &lt;code&gt;hitch&lt;/code&gt; 0.6, a complete &lt;a href=&quot;http://github.com/therubymug/hitch/tree/master&quot;&gt;rewrite&lt;/a&gt; of the original &lt;code&gt;hitch&lt;/code&gt;. We now have a test suite! :-) &lt;code&gt;hitch&lt;/code&gt; is a Git author attribution helper for pair programmers. It will modify your git author name and email to reflect who you are pairing with.&lt;/p&gt;
&lt;h1&gt;The itch we&amp;#8217;re scratching&lt;/h1&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.leshill.org&quot;&gt;Les Hill&lt;/a&gt; originally wrote:&lt;/p&gt;
@@ -388,8 +407,8 @@ Commit: Bender Pairing Station &amp;lt;bender@example.com&amp;gt;
<id>tag:blog.therubymug.com,2010-05-20:1274385077</id>
- <published>2010-05-20T15:51:17-04:00</published>
- <updated>2010-05-20T15:51:17-04:00</updated>
+ <published>2010-05-20T14:51:17-05:00</published>
+ <updated>2010-05-20T14:51:17-05:00</updated>
<content type="html">&lt;p&gt;&lt;code&gt;update 2011-07-26&lt;/code&gt;: The Install (Lion Edition) can be found &lt;a href=&quot;http://blog.therubymug.com/blog/2011/07/26/the-install-osx-lion.html&quot;&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Long story short&lt;/h3&gt;
&lt;p&gt;The following are steps we take at &lt;a href=&quot;http://hashrocket.com&quot;&gt;Hashrocket&lt;/a&gt; when setting up a near perfect Ruby development environment in OS X (Snow Leopard)&lt;sup class=&quot;footnote&quot; id=&quot;fnr1&quot;&gt;&lt;a href=&quot;#fn1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;. Feel free to copy and paste the commands into your terminal.&lt;/p&gt;
@@ -667,8 +686,8 @@ Commit: Bender Pairing Station &amp;lt;bender@example.com&amp;gt;
<id>tag:blog.therubymug.com,2010-05-20:1274367077</id>
- <published>2010-05-20T10:51:17-04:00</published>
- <updated>2010-05-20T10:51:17-04:00</updated>
+ <published>2010-05-20T09:51:17-05:00</published>
+ <updated>2010-05-20T09:51:17-05:00</updated>
<content type="html">&lt;h3&gt;Long story short&lt;/h3&gt;
&lt;p&gt;The following are steps we take at &lt;a href=&quot;http://hashrocket.com&quot;&gt;Hashrocket&lt;/a&gt; when setting up a near perfect Ruby development environment in GNU/Linux (Debian/Ubuntu). Feel free to copy and paste the commands into your terminal.&lt;/p&gt;
&lt;h3&gt;A Word of Caution&lt;/h3&gt;
@@ -828,8 +847,8 @@ A neat feature of rvm is defining the gems every &lt;em&gt;rvm-controlled&lt;/em
<id>tag:blog.therubymug.com,2010-04-20:1271797996</id>
- <published>2010-04-20T17:13:16-04:00</published>
- <updated>2010-04-20T17:13:16-04:00</updated>
+ <published>2010-04-20T16:13:16-05:00</published>
+ <updated>2010-04-20T16:13:16-05:00</updated>
<content type="html">&lt;p&gt;So at &lt;a href=&quot;http://hashrocket.com/&quot;&gt;Hashrocket&lt;/a&gt;, we&amp;#8217;ve been deploying a number of apps to Engine Yard Cloud. Some of these apps have required the use of background jobs. A library that facilitates that is called &lt;a href=&quot;http://github.com/defunkt/resque&quot;&gt;Resque&lt;/a&gt;. Once set up&lt;sup class=&quot;footnote&quot; id=&quot;fnr1&quot;&gt;&lt;a href=&quot;#fn1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;, it has a Sinatra web app you can use to monitor the queue&amp;#8217;s progress. To make a long story short, it isn&amp;#8217;t trivial to setup Resque Web on Engine Yard Cloud. This is what we did to make it work:&lt;/p&gt;
&lt;h3&gt;In your environment.rb add the following line:&lt;/h3&gt;
&lt;div class=&quot;CodeRay&quot;&gt;
@@ -868,8 +887,8 @@ A neat feature of rvm is defining the gems every &lt;em&gt;rvm-controlled&lt;/em
<id>tag:blog.therubymug.com,2009-04-20:1240261478</id>
- <published>2009-04-20T17:04:38-04:00</published>
- <updated>2009-04-20T17:04:38-04:00</updated>
+ <published>2009-04-20T16:04:38-05:00</published>
+ <updated>2009-04-20T16:04:38-05:00</updated>
<content type="html">&lt;p&gt;At Hashrocket, we pair program all the time. In order to properly give credit to both programmers, we wrote a helper in the form of a gem. We called it &lt;a href=&quot;http://github.com/therubymug/hitch&quot;&gt;Hitch!&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;So how does it work?&lt;/h3&gt;
&lt;p&gt;In the spirit of staying DRY, I will direct you to Les Hill&amp;#8217;s blog post: &lt;a href=&quot;http://blog.leshill.org/blog/2009/04/20/pairing-with-hitch.html&quot;&gt;Pairing with Hitch&lt;/a&gt;&lt;/p&gt;
View
4 index.html
@@ -41,12 +41,12 @@
<a href="/blog/2011/07/26/the-install-osx-lion.html">The Install (Lion Edition)</a>
</div>
<div class='meta'>
- <abbr class='published' title='Tue Jul 26 15:51:17 -0400 2011'>
+ <abbr class='published' title='Tue Jul 26 14:51:17 -0500 2011'>
Posted July 26, 2011
</abbr>
</div>
<div class='content'>
- <h3>The saga continues</h3>&#x000A;<p>So this is the follow-up post to <a href="http://blog.therubymug.com/blog/2010/05/20/the-install-osx.html">The Install &#8211; Snow Leopard Edition</a> which helped you, the <a href="http://ruby-lang.org">Ruby</a> developer, set up a near-perfect development environment in Mac OS X. Only this time it&#8217;s on Apple&#8217;s latest version of Mac OS X, 10.7 (Lion). Again, feel free to copy and paste the commands into your terminal.</p>&#x000A;<h3>Take-away</h3>&#x000A;<p>This post walks you through setting up a very sustainable <a href="http://ruby-lang.org">Ruby</a> development environment on your Mac. You&#8217;ll be able to write <a href="http://rubyonrails.org">Ruby on Rails</a> apps along with anything else that uses Ruby. e.g. <a href="http://www.sinatrarb.com">Sinatra</a>, <a href="http://www.padrinorb.com">Padrino</a>, <a href="http://www.merbivore.com/index.html">Merb</a>, et al. It is also the setup we use everyday at <a href="http://hashrocket.com">Hashrocket</a>.</p>&#x000A;<h3>A Word of Caution</h3>&#x000A;<p>As usual, while it is unlikely any instruction given below might damage your system, it’s always a good idea to backup everything before doing any of it, just in case. I am not responsible for anything that may result from following the instructions below. Proceed at your own risk.</p>&#x000A;<h3>Step 0:</h3>&#x000A;<p>- <a href="http://guide.macports.org/chunked/installing.macports.uninstalling.html">Uninstall MacPorts!</a></p>&#x000A;<h3>Prerequisite OS X Apps:</h3>&#x000A;<p>- <a href="http://www.google.com/chrome">Chrome</a> (+ vimium)<br />&#x000A;- <a href="http://www.getfirefox.com">Firefox</a> (+ firebug, <del>note that Selenium is not yet compatible with Firefox 5</del>)<br />&#x000A;- <a href="http://fluidapp.com/">Fluid.app</a><br />&#x000A;- <a href="http://gitx.frim.nl/">Gitx</a><br />&#x000A;- <a href="http://www.irradiatedsoftware.com/sizeup/">SizeUp</a><br />&#x000A;- <a href="http://www.abyssoft.com/software/teleport/">Teleport</a></p>&#x000A;<h3>Install Xcode</h3>&#x000A;<p>You <em>need</em> to install Xcode for <em>homebrew</em> to compile code from source. It&#8217;s free in the Mac App Store! <a href="http://itunes.apple.com/us/app/xcode/id448457090?mt=12">Xcode</a></p>&#x000A;<h3>OS X Named Streams issue <sup class="footnote" id="fnr1"><a href="#fn1">1</a></sup></h3>&#x000A;<p>- Fix it system wide, with the following:</p>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">echo &quot;[default]&quot; | sudo tee /etc/nsmb.conf<tt>&#x000A;</tt>echo &quot;streams=no&quot; | sudo tee -a /etc/nsmb.conf</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h3>Install homebrew</h3>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt>3<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">sudo mkdir /usr/local<tt>&#x000A;</tt>sudo chown -R `whoami` /usr/local<tt>&#x000A;</tt>curl -L https://github.com/mxcl/homebrew/tarball/master | tar xz --strip 1 -C /usr/local</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h3>Create .bash_profile</h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> echo <span class="s"><span class="dl">'</span><span class="k">. &quot;$HOME/.bashrc&quot;</span><span class="dl">'</span></span> &gt; ~<span class="rx"><span class="dl">/</span><span class="k">.bash_profile</span></span></pre></div>&#x000A;</div>&#x000A;&#x000A;<h3>Install MacVim</h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> brew install macvim</pre></div>&#x000A;</div>&#x000A;&#x000A;<h3>Install utilities</h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> brew install wget proctools ack ctags-exuberant markdown</pre></div>&#x000A;</div>&#x000A;&#x000A;<h3>Install ImageMagick <em>(optional)</em></h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> brew install imagemagick</pre></div>&#x000A;</div>&#x000A;&#x000A;<h3>Get git</h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> brew install git</pre></div>&#x000A;</div>&#x000A;&#x000A;<h3>dotfiles, dev folder</h3>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt>3<tt>&#x000A;</tt>4<tt>&#x000A;</tt>5<tt>&#x000A;</tt>6<tt>&#x000A;</tt>7<tt>&#x000A;</tt>8<tt>&#x000A;</tt>9<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">mkdir ~/hashrocket<tt>&#x000A;</tt>cd ~/hashrocket<tt>&#x000A;</tt>git clone https://github.com/hashrocket/dotmatrix.git<tt>&#x000A;</tt><tt>&#x000A;</tt>ln -s ~/hashrocket/dotmatrix/.bashrc ~/<tt>&#x000A;</tt>ln -s ~/hashrocket/dotmatrix/.hashrc ~/<tt>&#x000A;</tt>ln -s ~/hashrocket/dotmatrix/.vim ~/<tt>&#x000A;</tt>ln -s ~/hashrocket/dotmatrix/.vimrc ~/<tt>&#x000A;</tt>sh ~/hashrocket/dotmatrix/bin/vimbundles.sh</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h3>Install <a href="http://rvm.beginrescueend.com/rvm/install/">rvm</a></h3>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt>3<tt>&#x000A;</tt>4<tt>&#x000A;</tt>5<tt>&#x000A;</tt>6<tt>&#x000A;</tt>7<tt>&#x000A;</tt>8<tt>&#x000A;</tt>9<tt>&#x000A;</tt><strong>10</strong><tt>&#x000A;</tt>11<tt>&#x000A;</tt>12<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">bash &lt; &lt;(curl -s https://rvm.beginrescueend.com/install/rvm)<tt>&#x000A;</tt><tt>&#x000A;</tt>echo 'if [[ -s &quot;$HOME/.rvm/scripts/rvm&quot; ]] ; then source &quot;$HOME/.rvm/scripts/rvm&quot; ; fi' \<tt>&#x000A;</tt> &gt;&gt; ~/.bashrc.local<tt>&#x000A;</tt><tt>&#x000A;</tt>echo -e &quot;export rvm_project_rvmrc_default=1<tt>&#x000A;</tt>export rvm_install_on_use_flag=1<tt>&#x000A;</tt>export rvm_project_rvmrc=1<tt>&#x000A;</tt>export rvm_path='$HOME/.rvm'&quot; &gt; ~/.rvmrc<tt>&#x000A;</tt><tt>&#x000A;</tt>echo '[[ -r $rvm_path/scripts/completion ]] &amp;&amp; source $rvm_path/scripts/completion' \<tt>&#x000A;</tt> &gt;&gt; ~/.bashrc.local # rvm autocompletion</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h3>Create your .gemrc by copying &amp; pasting the following in your terminal:</h3>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt>3<tt>&#x000A;</tt>4<tt>&#x000A;</tt>5<tt>&#x000A;</tt>6<tt>&#x000A;</tt>7<tt>&#x000A;</tt>8<tt>&#x000A;</tt>9<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">echo -e '---<tt>&#x000A;</tt>:benchmark: false<tt>&#x000A;</tt>gem: --no-ri --no-rdoc<tt>&#x000A;</tt>:update_sources: true<tt>&#x000A;</tt>:bulk_threshold: 1000<tt>&#x000A;</tt>:verbose: true<tt>&#x000A;</tt>:sources:<tt>&#x000A;</tt>- http://rubygems.org<tt>&#x000A;</tt>:backtrace: false' &gt; ~/.gemrc</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h3>Setup your <em>global</em> gems</h3>&#x000A;A neat feature of rvm is defining the gems every <em>rvm-controlled</em> ruby will install on its <em>global</em> gemset. More <a href="http://blog.therubymug.com/blog/2010/09/23/going-global-with-rvm-gemsets.html">here</a>&#x000A;<p>Simply add your desired gems to the file: ~/.rvm/gemsets/global.gems like so:</p>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt>3<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">rake -v0.9.2<tt>&#x000A;</tt>hitch<tt>&#x000A;</tt>dirty</pre></td>&#x000A;</tr></table>&#x000A;<p><strong>Now</strong> each time you <code>rvm install</code> a ruby version, you&#8217;ll have hitch, dirty and rake version 0.9.2!</p>&#x000A;<h3>Install the rubies to your heart&#8217;s content</h3>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt>3<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">rvm install 1.8.7<tt>&#x000A;</tt>rvm install 1.9.2<tt>&#x000A;</tt>rvm use 1.9.2 --default</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h3><code>Mongo</code></h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> brew install mongo <span class="c"># Follow instructions</span></pre></div>&#x000A;</div>&#x000A;&#x000A;<h3><code>Postgresql</code></h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> brew install postgresql <span class="c"># Follow instructions</span></pre></div>&#x000A;</div>&#x000A;&#x000A;<h3><code>MySQL</code></h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> brew install mysql <span class="c"># Follow instructions</span></pre></div>&#x000A;</div>&#x000A;&#x000A;<h3>Generate a pubkey for this box</h3>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">ssh-keygen -t rsa<tt>&#x000A;</tt># Add public key to your github account</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h1><em>Enjoy</em></h1>&#x000A;<p><strong>update</strong>: [2011-08-23] minor updates</p>&#x000A;<p class="footnote" id="fn1"><a href="#fnr1"><sup>1</sup></a> <a href="http://support.apple.com/kb/HT4017">More info</a></p>
+ <p><strong>update</strong>: [2011-08-23] minor updates<br />&#x000A;<strong>update</strong>: [2011-11-05] I have automated this blog post into a shell script. Check it out <a href="https://gist.github.com/1341873">here</a></p>&#x000A;<h3>TL;DR</h3>&#x000A;<p>- Copy &amp; paste the following into a Terminal window:</p>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt>3<tt>&#x000A;</tt>4<tt>&#x000A;</tt>5<tt>&#x000A;</tt>6<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">test -f /tmp/the_install.sh &amp;&amp; rm /tmp/the_install.sh<tt>&#x000A;</tt>curl -s\<tt>&#x000A;</tt> https://raw.github.com/gist/1341873/e63fc6de770f6d993b928ce77eec5de98b3bfdcd/the_install.sh \<tt>&#x000A;</tt> -o /tmp/the_install.sh<tt>&#x000A;</tt>chmod 0700 /tmp/the_install.sh<tt>&#x000A;</tt>. /tmp/the_install.sh</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h3>The saga continues</h3>&#x000A;<p>So this is the follow-up post to <a href="http://blog.therubymug.com/blog/2010/05/20/the-install-osx.html">The Install &#8211; Snow Leopard Edition</a> which helped you, the <a href="http://ruby-lang.org">Ruby</a> developer, set up a near-perfect development environment in Mac OS X. Only this time it&#8217;s on Apple&#8217;s latest version of Mac OS X, 10.7 (Lion). Again, feel free to copy and paste the commands into your terminal.</p>&#x000A;<h3>Take-away</h3>&#x000A;<p>This post walks you through setting up a very sustainable <a href="http://ruby-lang.org">Ruby</a> development environment on your Mac. You&#8217;ll be able to write <a href="http://rubyonrails.org">Ruby on Rails</a> apps along with anything else that uses Ruby. e.g. <a href="http://www.sinatrarb.com">Sinatra</a>, <a href="http://www.padrinorb.com">Padrino</a>, <a href="http://www.merbivore.com/index.html">Merb</a>, et al. It is also the setup we use everyday at <a href="http://hashrocket.com">Hashrocket</a>.</p>&#x000A;<h3>A Word of Caution</h3>&#x000A;<p>As usual, while it is unlikely any instruction given below might damage your system, it’s always a good idea to back up everything before doing any of it, just in case. I am not responsible for anything that may result from following the instructions below. Proceed at your own risk.</p>&#x000A;<h3>Step 0:</h3>&#x000A;<p>- <a href="http://guide.macports.org/chunked/installing.macports.uninstalling.html">Uninstall MacPorts!</a></p>&#x000A;<h3>Prerequisite OS X Apps:</h3>&#x000A;<p>- <a href="http://www.google.com/chrome">Chrome</a> (+ vimium)<br />&#x000A;- <a href="http://www.getfirefox.com">Firefox</a> (+ firebug, <del>note that Selenium is not yet compatible with Firefox 5</del>)<br />&#x000A;- <a href="http://fluidapp.com/">Fluid.app</a><br />&#x000A;- <a href="http://gitx.frim.nl/">Gitx</a><br />&#x000A;- <a href="http://www.irradiatedsoftware.com/sizeup/">SizeUp</a><br />&#x000A;- <a href="http://www.abyssoft.com/software/teleport/">Teleport</a></p>&#x000A;<h3>Install Xcode</h3>&#x000A;<p>You <em>need</em> to install Xcode for <em>homebrew</em> to compile code from source. It&#8217;s free in the Mac App Store! <a href="http://itunes.apple.com/us/app/xcode/id448457090?mt=12">Xcode</a></p>&#x000A;<h3>OS X Named Streams issue <sup class="footnote" id="fnr1"><a href="#fn1">1</a></sup></h3>&#x000A;<p>- Fix it system wide, with the following:</p>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">echo &quot;[default]&quot; | sudo tee /etc/nsmb.conf<tt>&#x000A;</tt>echo &quot;streams=no&quot; | sudo tee -a /etc/nsmb.conf</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h3>Install homebrew</h3>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt>3<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">sudo mkdir /usr/local<tt>&#x000A;</tt>sudo chown -R `whoami` /usr/local<tt>&#x000A;</tt>curl -L https://github.com/mxcl/homebrew/tarball/master | tar xz --strip 1 -C /usr/local</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h3>Create .bash_profile</h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> echo <span class="s"><span class="dl">'</span><span class="k">. &quot;$HOME/.bashrc&quot;</span><span class="dl">'</span></span> &gt; ~<span class="rx"><span class="dl">/</span><span class="k">.bash_profile</span></span></pre></div>&#x000A;</div>&#x000A;&#x000A;<h3>Install MacVim</h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> brew install macvim</pre></div>&#x000A;</div>&#x000A;&#x000A;<h3>Install utilities</h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> brew install wget proctools ack ctags-exuberant markdown</pre></div>&#x000A;</div>&#x000A;&#x000A;<h3>Install ImageMagick <em>(optional)</em></h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> brew install imagemagick</pre></div>&#x000A;</div>&#x000A;&#x000A;<h3>Get git</h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> brew install git</pre></div>&#x000A;</div>&#x000A;&#x000A;<h3>dotfiles, dev folder</h3>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt>3<tt>&#x000A;</tt>4<tt>&#x000A;</tt>5<tt>&#x000A;</tt>6<tt>&#x000A;</tt>7<tt>&#x000A;</tt>8<tt>&#x000A;</tt>9<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">mkdir ~/hashrocket<tt>&#x000A;</tt>cd ~/hashrocket<tt>&#x000A;</tt>git clone https://github.com/hashrocket/dotmatrix.git<tt>&#x000A;</tt><tt>&#x000A;</tt>ln -s ~/hashrocket/dotmatrix/.bashrc ~/<tt>&#x000A;</tt>ln -s ~/hashrocket/dotmatrix/.hashrc ~/<tt>&#x000A;</tt>ln -s ~/hashrocket/dotmatrix/.vim ~/<tt>&#x000A;</tt>ln -s ~/hashrocket/dotmatrix/.vimrc ~/<tt>&#x000A;</tt>sh ~/hashrocket/dotmatrix/bin/vimbundles.sh</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h3>Install <a href="http://rvm.beginrescueend.com/rvm/install/">rvm</a></h3>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt>3<tt>&#x000A;</tt>4<tt>&#x000A;</tt>5<tt>&#x000A;</tt>6<tt>&#x000A;</tt>7<tt>&#x000A;</tt>8<tt>&#x000A;</tt>9<tt>&#x000A;</tt><strong>10</strong><tt>&#x000A;</tt>11<tt>&#x000A;</tt>12<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">bash &lt; &lt;(curl -s https://rvm.beginrescueend.com/install/rvm)<tt>&#x000A;</tt><tt>&#x000A;</tt>echo 'if [[ -s &quot;$HOME/.rvm/scripts/rvm&quot; ]] ; then source &quot;$HOME/.rvm/scripts/rvm&quot; ; fi' \<tt>&#x000A;</tt> &gt;&gt; ~/.bashrc.local<tt>&#x000A;</tt><tt>&#x000A;</tt>echo -e &quot;export rvm_project_rvmrc_default=1<tt>&#x000A;</tt>export rvm_install_on_use_flag=1<tt>&#x000A;</tt>export rvm_project_rvmrc=1<tt>&#x000A;</tt>export rvm_path='$HOME/.rvm'&quot; &gt; ~/.rvmrc<tt>&#x000A;</tt><tt>&#x000A;</tt>echo '[[ -r $rvm_path/scripts/completion ]] &amp;&amp; source $rvm_path/scripts/completion' \<tt>&#x000A;</tt> &gt;&gt; ~/.bashrc.local # rvm autocompletion</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h3>Create your .gemrc by copying &amp; pasting the following in your terminal:</h3>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt>3<tt>&#x000A;</tt>4<tt>&#x000A;</tt>5<tt>&#x000A;</tt>6<tt>&#x000A;</tt>7<tt>&#x000A;</tt>8<tt>&#x000A;</tt>9<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">echo -e '---<tt>&#x000A;</tt>:benchmark: false<tt>&#x000A;</tt>gem: --no-ri --no-rdoc<tt>&#x000A;</tt>:update_sources: true<tt>&#x000A;</tt>:bulk_threshold: 1000<tt>&#x000A;</tt>:verbose: true<tt>&#x000A;</tt>:sources:<tt>&#x000A;</tt>- http://rubygems.org<tt>&#x000A;</tt>:backtrace: false' &gt; ~/.gemrc</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h3>Setup your <em>global</em> gems</h3>&#x000A;A neat feature of rvm is defining the gems every <em>rvm-controlled</em> ruby will install on its <em>global</em> gemset. More <a href="http://blog.therubymug.com/blog/2010/09/23/going-global-with-rvm-gemsets.html">here</a>&#x000A;<p>Simply add your desired gems to the file: ~/.rvm/gemsets/global.gems like so:</p>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt>3<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">rake -v0.9.2<tt>&#x000A;</tt>hitch<tt>&#x000A;</tt>dirty</pre></td>&#x000A;</tr></table>&#x000A;<p><strong>Now</strong> each time you <code>rvm install</code> a ruby version, you&#8217;ll have hitch, dirty and rake version 0.9.2!</p>&#x000A;<h3>Install the rubies to your heart&#8217;s content</h3>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt>3<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">rvm install 1.8.7<tt>&#x000A;</tt>rvm install 1.9.2<tt>&#x000A;</tt>rvm use 1.9.2 --default</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h3><code>Mongo</code></h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> brew install mongo <span class="c"># Follow instructions</span></pre></div>&#x000A;</div>&#x000A;&#x000A;<h3><code>Postgresql</code></h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> brew install postgresql <span class="c"># Follow instructions</span></pre></div>&#x000A;</div>&#x000A;&#x000A;<h3><code>MySQL</code></h3>&#x000A;<div class="CodeRay">&#x000A; <div class="code"><pre><span class="no">1</span> brew install mysql <span class="c"># Follow instructions</span></pre></div>&#x000A;</div>&#x000A;&#x000A;<h3>Generate a pubkey for this box</h3>&#x000A;<table class="CodeRay"><tr>&#x000A; <td class="line_numbers" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"><pre>1<tt>&#x000A;</tt>2<tt>&#x000A;</tt></pre></td>&#x000A; <td class="code"><pre ondblclick="with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }">ssh-keygen -t rsa<tt>&#x000A;</tt># Add public key to your github account</pre></td>&#x000A;</tr></table>&#x000A;&#x000A;<h1><em>Enjoy</em></h1>&#x000A;<p class="footnote" id="fn1"><a href="#fnr1"><sup>1</sup></a> <a href="http://support.apple.com/kb/HT4017">More info</a></p>
</div>
<div class='comments'>
<div id='disqus_thread'></div>
Please sign in to comment.
Something went wrong with that request. Please try again.