我刚刚将一个项目升级到 Ruby 1.9.2,以下行使应用程序崩溃,并使用 File:Class 的 'undefined method `copy'
File.copy(animage.image.path(:export), destfile)
我在此模块中加载了以下库
require 'zip/zipfilesystem'
require 'iconv'
require 'net/ftp'
require 'fileutils'
我刚刚将一个项目升级到 Ruby 1.9.2,以下行使应用程序崩溃,并使用 File:Class 的 'undefined method `copy'
File.copy(animage.image.path(:export), destfile)
我在此模块中加载了以下库
require 'zip/zipfilesystem'
require 'iconv'
require 'net/ftp'
require 'fileutils'
它实际上应该是FileUtils.copy
or FileUtils.cp
。我想知道您的旧项目如何仅使用 File.copy,因为 File 没有该方法。
参考这里:http ://santoro.tk/mirror/ruby-core/classes/FileUtils.html#M004325
您可能在 1.8 中使用了 ftools:
ftools 向 File 类添加了几个(类,而不是实例)方法,用于复制、移动、删除、安装和比较文件,以及创建目录路径。有关详细信息,请参阅 File 类。
ftools 在 1.9 中被 fileutils 取代,大约是Dave Thomas的 1.9 标准库更改列表中的第 6 个元素