|
|
 |
 |
 |
 |
Ruby Programming Language
|
 |
 |
 |
 |
 |
 |
 |
 |
File.utime returns Invalid argument on Windows (winXP, ruby 1.8.5/1.8.6).
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 Jun 5, 11:55 am, "Matt Scilipoti" <mattscilip@possiamo.com> wrote: > 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
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
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 On 6/6/07, Daniel Berger <djber@gmail.com> wrote:
> On Jun 5, 11:55 am, "Matt Scilipoti" <mattscilip @possiamo.com> > wrote: > > 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 > 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
|
 |
 |
 |
 |
|