名称错误:未初始化常量FileUtils。

5

我尝试使用以下代码将桌面上的文件复制到另一个文件夹:

 FileUtils.cp('image.png', '/folder/image.png')

I got this error:

NameError: uninitialized constant FileUtils
Did you mean? FileTest

我正在努力弄清楚为什么会出现错误。

1
require 'fileutils' before - Mikhail Katrin
你成功解决了吗? - sawa
@sawa 是的,我做了,谢谢。 - Sam Johnson
1个回答

10

FileUtils 必须显式地进行 require

require 'fileutils'
FileUtils.cp('image.png', '/folder/image.png')

谢谢,我先这样做了,结果返回为true - 但是当我尝试再次移动文件时,它返回了这个:Errno::ENOENT: No such file or directory @ rb_sysopen - image.png - Sam Johnson
2
@SamJohnson:这个错误意味着工作目录中没有这样的文件。请检查工作目录是否与您预期完全相同,并且该文件实际上存在。我假设您熟悉“工作目录”的概念,或者您将能够解决此问题。 - Sergio Tulentsev
这种改进完全超出了OP的范围。问题是如何克服“NameError”,上面的代码完美地回答了这个问题。 - Aleksei Matiushkin
2
在我的原问题中,我解释说我是 Ruby 的初学者,所以我觉得问一个后续问题是完全合理的,因为我不知道这两个问题是否相关。 - Sam Johnson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接