我试图在fileutils中使用Ruby的cp_r方法递归复制目录。然而,它崩溃了(愚蠢但不受我控制)的情况,在我复制的目录中有一个文件和一个指向该文件的符号链接。我收到以下错误:
/usr/lib/ruby/1.8/fileutils.rb:1223:in `symlink': File exists - real_file_name or symbolic_link_filename (Errno::EEXIST)
现在,我可能错了,但似乎是symlink的:force选项应该照顾的东西;但是,cp_r不能采用:force选项,我认为没办法让它将该选项传递给它对symlink的内部调用。此外,捕获EEXISTS错误似乎不是一个解决方案,因为cp_r的运行仍然会被中断。
有没有一种干净的方法来解决这个问题?