我创建了这个 Ruby (1.9.2) 代码,最后一行失败:
File.open("test äöü.txt", "w+").close
File.chmod(0644, "test äöü.txt")
FileUtils.chmod(0644, "test äöü.txt") # FAILS
消息是:
Errno::ENOENT(没有这样的文件或目录 - C:/.../test ├ñ├Â├╝.txt):
尽管最终会FileUtil.chmod
调用File.chmod
,但由于某种原因,它会在过程中与文件名混淆。
通常我只会使用File
而不是FileUtils
,但不幸的是我正在使用一个使用的 gem,FileUtils
我希望我可以避免更改 gem 源。
有谁知道为什么会这样?来源FileUtils.chmod
看起来很简单,但我仍然无法弄清楚问题所在。有没有办法让猴子补丁FileUtils
让它工作?
谢谢。