From: Gennady Bystritsky Date: 2010-05-28T03:06:42+09:00 Subject: Re: Ruby confused about current directory? On May 27, 2010, at 10:51 AM, Brian Hartin wrote: > Hi all, > > Something is wrong with my environment such that ruby occasionally gets > confused about the 'current directory'. I'm running ruby 1.8.6 > (2010-02-04 patchlevel 398) [i386-mingw32] on Windows XP. > > The root problem, which seems to break Rake, as well as gem installs, is > that under some situations it thinks the current directory is the > Windows USER_HOME, directory even when the script runs from another > directory. > > One way to reproduce this is to create a script that prints the working > directory, e.g. 'puts Dir.pwd'. Next, run these commands in IRB from > the root dir, c:\ > > irb(main):001:0> Kernel.system('c:\ruby\bin\ruby.exe > c:\temp\printdir.rb') > "Current dir: C:/" > => true > irb(main):001:0> Kernel.system('call c:\ruby\bin\ruby.exe > c:\temp\printdir.rb') > "Current dir: C:/Documents and Settings/hartbr" > => true It looks like the difference in invocation -- first system() command invokes ruby directly, while the second does it via "call". My guess would be that "call" may reset working folder to the logged user's home folder (or to whatever working folder is associated with the installed ruby application) before invoking ruby.exe. Gennady.