gpt4 book ai didi

Ruby 移动目录错误 :

转载 作者:太空宇宙 更新时间:2023-11-03 16:32:45 27 4
gpt4 key购买 nike

我有一个包含许多子目录的目录,每个子目录都包含不同版本的要测试的程序。

all_dirs.each do |dir|
FileUtils.mv(test_spec, target_dir, :verbose => true)
system("rspec #{test_folder_name}")
puts "moving back: '#{spec_dir}' to '#{current_dir}'"
FileUtils.mv(spec_dir, current_dir, :verbose => true)
end

在大多数情况下代码是成功的,但有时它拒绝将目录移动到父目录,因为它已经存在。

mv ~/test/version-1/01-spec ~/test
~/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/fileutils.rb:509:in `block in mv': File exists - ~/test (Errno::EEXIST)
from ~/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/fileutils.rb:1423:in `block in fu_each_src_dest'
from ~/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/fileutils.rb:1437:in `fu_each_src_dest0'
from ~/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/fileutils.rb:1421:in `fu_each_src_dest'
from ~/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/fileutils.rb:504:in `mv'

unix mv 命令有效,可以在抛出此异常后执行。我做错了什么吗?

最佳答案

正如错误告诉您的那样,它失败了,因为 ~/test 已经存在,并且 FileUtils默认情况下不会破坏它。如果您不关心覆盖,可以传递 force 参数:

FileUtils.mv(test_spec, target_dir, :verbose => true, :force => true)

关于Ruby 移动目录错误 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12991269/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com