I am receiving an "Invalid argument" error from File.utime. irb> testfile = 'd:/temp/2007/06/test.txt' => "d:/temp/2007/06/test.txt" irb> File.utime(0, Time.now, testfile) Errno::EINVAL: Invalid argument - d:/temp/2007/06/test.txt from (irb):4:in `utime' from (irb):4 irb> File.exist?(testfile) => true irb> File.writable?(testfile) => true My local user group suggested: irb> require 'time' => false False? I tried this on two computers: | WinXP SP2 | WinXP SP2 | | Ruby 1.8.6 | 1.8.5 | | NTFS | FAT32 | A friend has these same specs, but it works for him. Google for 'ruby, windows, File.utime, "Invalid Argument"' (and various versions of this) doesn't help. It does appear in a nice Ruby poetry jam. Any ideas?
on 2007-06-05 19:55
on 2007-06-06 16:36
On Jun 5, 11:55 am, "Matt Scilipoti" <mattscilip...@possiamo.com> wrote: > irb> File.writable?(testfile) > => true Is D: a hard disk? Or is it a CDROM, usb drive, etc? Hey, gotta ask. > My local user group suggested: > irb> require 'time' > => false > > False? Unrelated. It means it was already loaded, probably by rubygems. An actual failure would raise an error. Regards, Dan
on 2007-06-06 16:59
Solved (mostly), thanks to: Nicholas Evans, who suggested that Windows may not accept a date of 0 (the first param sets access time). It doesn't. I knew that. Bad brain. Thanks for asking an "is it plugged in" type of question. Daniel Berger, for reminding me that "require 'x' -> false" doesn't mean "we can't find 'x'" - it just means that it is ALREADY required. I knew that too. Funny how, in this context, I easily accepted an incorrect translation of the results, because it was corroborating evidence - exactly what I was looking for. And thanks for another "is it plugged in?" question. Yes, D: drive is a hard drive. :) Why "mostly"? This code is derived from a battery of tests for a project in a User Group. These tests pass for another Windows user. We will investigate next meeting. Thanks to all, Matt