Ruby doesnt look at local gems

How can I get ruby to look for gems in the local repository first,
then in the site repository?

The following bash env vars are set and exported:


Local gems are in /home/allcarsm/ruby/gem and chronic-0.2.3 is
installed there.

But when I run the controller which includes chronic, I get

        ---- uninitialized constant HomeyController::Chronic

I've been looking high and low for a config or env var to set for Ruby
but cant seem to solve this. Help?

Have you included the chronic gem as a dependency in config/
environment.rb? The error message that you're getting tends to imply

Try this - open config/environment.rb, and add this line:

config.gem 'chronic'

to the initializer block (you should see commented examples in the
file already).

--Matt Jones

I figured it out. The apache server doesnt start ruby using bash, so
GEM_HOME and GEM_PATH were not set. These env vars are used by Ruby
to find the gems. I figured out by reading the boot.rb code that I
can create a file config/preinitializer.rb and set the env vars using
Ruby language constructs. This file is included (and executed) early
in the boot process. Now the system runs and finds the gems in the
local repository.