From: David Masover Date: 2009-07-20T01:56:38+09:00 Subject: Re: Help with relative paths using require On Sunday 19 July 2009 09:13:37 am typemismatch wrote: > My structure is simple enough. > > app\ > app\lib > app\feature > app\feature2 > > I have all shared code in \lib and in any feature code I do a require > '..\lib\whatever.rb' Quick question: Where are you actually running the app from? I'm guessing that path isn't relative to the file the 'require' statement is in, but rather, from the current working directory. > It runs fine locally but if I run on a server using Cron or a Daemon > the base path seems to be always set to something else so ..\lib > doesn't exist. Among other things, I'm guessing you'll find the working directory is somewhere else. But you could play with $: a bit. > What is the correct method here? To wrap my lib code in a gem? That's a good idea anyway, but you could also do something like this: require 'pathname' $: << Pathname(__FILE__).parent.join('lib').to_s Now, you could just do: require 'whatever' The .rb is implied, and the path includes 'lib' directly, now. You'd get something similar if you packaged it as a gem.