There's a few other environmental variables to consider re:search/execution paths, see table on p.182, pickaxe2: RUBYLIB: additional search paths to be searched after $LOAD_PATH or $: if $SAFE == 0 Also, note that rub does *not* add your current script's directory to the execution path (like python does), so you'll often see something like: require File.dirname(__FILE__) + '/../moduleInArbitraryLocation' see also RUBYPATH, RUBYLIB_PREFIX (win32). Also note that you can't make permanent changes to $PATH or other environmental vars on your win or unix box by issuing command such as ENV['TERM']=whatever. If you write to ENV['TERM'], those changes are local to the process.