Important Project Notes


Step one is to install Ruby and RubyGems; this is the appropriate incantation for my Linux distribution (Gentoo):

jmax@book ~ $ sudo emerge ruby rubygems
...package manager nattering while it installs ruby and rubygems...

Next, grab a copy of the MyTrack code:

jmax@book ~ $ cd projects/
jmax@book ~/projects $ git clone
Cloning into MyTrack...
remote: Counting objects: 84, done.
remote: Compressing objects: 100% (60/60), done.
remote: Total 84 (delta 11), reused 79 (delta 6)
Receiving objects: 100% (84/84), 27.40 KiB, done.
Resolving deltas: 100% (11/11), done.

Now we install rvm. rvm is a little weird, in that it is for use with Ruby, but is not itself a Ruby program (and hence, it isn't a gem). It's actually a clever shell hack (with both the good and bad implications of that). Anyway, install it like this:

jmax@book ~/projects $ bash -s stable < <(curl -s
...rvm nattering while it installs...

Because rvm is a shell hack, we then need to update our current shell's environment (we could also just start a new shell).

jmax@book ~/projects $ source /home/jmax/.rvm/scripts/rvm

Now, whenever we change into the project's root directory, rvm will arrange for us to use the version of Ruby and the various gems specified in the project's .rvmrc file. This first time, it gets a little upset, because we haven't installed the correct version of Ruby or any of the gems:

jmax@book ~/projects $ cd MyTrack/
= NOTICE                                                                     =
= RVM has encountered a new or modified .rvmrc file in the current directory =
= This is a shell script and therefore may contain any shell commands.       =
=                                                                            =
= Examine the contents of this file carefully to be sure the contents are    =
= safe before trusting it! ( Choose v[iew] below to view the contents )      =
Do you wish to trust this .rvmrc file? (/home/jmax/projects/MyTrack/.rvmrc)
y[es], n[o], v[iew], c[ancel]> y
Gemset 'MyTrack' does not exist, rvm gemset create 'MyTrack' first.
Gemset doesn't exist, proceeding with default gemset
ruby ruby-1.9.2-p290 is not installed.
To install do: 'rvm install ruby-1.9.2-p290'

Following the nice program's suggestions, we create the gemset and install the necessary version of Ruby:

jmax@book ~/projects/MyTrack $ rvm gemset create 'MyTrack'
'MyTrack' gemset created (/home/jmax/.rvm/gems/ruby-1.9.2-p290@MyTrack).
jmax@book ~/projects/MyTrack $ rvm install ruby-1.9.2-p290
Fetching yaml-0.1.4.tar.gz to /home/jmax/.rvm/archives
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  460k  100  460k    0     0   261k      0  0:00:01  0:00:01 --:--:--  296k
Extracting yaml-0.1.4.tar.gz to /home/jmax/.rvm/src
Prepare yaml in /home/jmax/.rvm/src/yaml-0.1.4.
Configuring yaml in /home/jmax/.rvm/src/yaml-0.1.4.
Compiling yaml in /home/jmax/.rvm/src/yaml-0.1.4.
Installing yaml to /home/jmax/.rvm/usr
Installing Ruby from source to: /home/jmax/.rvm/rubies/ruby-1.9.2-p290, this may take a while depending on your cpu(s)...

ruby-1.9.2-p290 - #fetching
ruby-1.9.2-p290 - #downloading ruby-1.9.2-p290, this may take a while depending on your connection...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 8604k  100 8604k    0     0   414k      0  0:00:20  0:00:20 --:--:--  361k
ruby-1.9.2-p290 - #extracting ruby-1.9.2-p290 to /home/jmax/.rvm/src/ruby-1.9.2-p290
ruby-1.9.2-p290 - #extracted to /home/jmax/.rvm/src/ruby-1.9.2-p290
ruby-1.9.2-p290 - #configuring
ruby-1.9.2-p290 - #compiling
ruby-1.9.2-p290 - #installing
Retrieving rubygems-1.8.17
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  246k  100  246k    0     0   429k      0 --:--:-- --:--:-- --:--:--  587k
Extracting rubygems-1.8.17 ...
Removing old Rubygems files...
Installing rubygems-1.8.17 for ruby-1.9.2-p290 ...
Installation of rubygems completed successfully.
ruby-1.9.2-p290 - adjusting #shebangs for (gem irb erb ri rdoc testrb rake).
ruby-1.9.2-p290 - #importing default gemsets (/home/jmax/.rvm/gemsets/)
Install of ruby-1.9.2-p290 - #complete

The capybara-webkit gem, which we use for some of our testing, depends on having a QT development environment installed. This may already be present on your system; if not you need to install it. The appropriate incantation for doing this on Ubuntu (and probably other Debian-based distros) is:

apt-get install libqt4-dev

The last package that we will install manually is bundler, which will handle installing everything else for us:

jmax@book ~/projects/MyTrack $ gem install bundler
Successfully installed bundler-1.0.22
1 gem installed
Installing ri documentation for bundler-1.0.22...
Installing RDoc documentation for bundler-1.0.22...

Finally we cd out of the project's root, then back in, so as to update rvm (If you don't, the next step will malfunction).

jmax@book ~/projects/MyTrack $ cd ..
jmax@book ~/projects $ cd MyTrack/
Using /home/jmax/.rvm/gems/ruby-1.9.2-p290 with gemset MyTrack

And tell bundler to deal with everything else:

jmax@book ~/projects/MyTrack $ bundle install
Fetching source index for
Fetching source index for
Installing rake (
...other gems...
Installing uglifier (1.2.3)
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.

And we're almost done. The final step is to get our database initialized:

jmax@book ~/projects/MyTrack $ rake db:create
jmax@book ~/projects/MyTrack $ rake db:migrate

We now (should) have a working development environment.

AgileMaryland: InstallationInstructions (last edited 2013-01-29 00:00:17 by JohnMaxwell)