无法使用 Ruby 测试 Fastlane 中目录是否已存在
Can't test if directory already exists from within Fastlane with Ruby
我无法从 Fastlane 操作或通道中测试目录是否存在。当前目录中 save_path = "./dir_name"
和 save_path = "dir_name"
的以下工作的 None(fastlane
正在 运行):
!Dir.empty?(save_path)
!Dir[save_path].empty?
Dir.exist?(save_path)
File.exist?(save_path)
File.directory?(save_path)
我什至尝试扩展相对路径:
File.exists? File.expand_path(save_path)
我参考了以下内容:
- Check if directory is empty in Ruby
- How to check if a given directory exists in Ruby
- https://blog.bigbinary.com/2017/02/28/dir-emtpy-included-in-ruby-2-4.html
- https://ruby-doc.org/core-2.2.0/Dir.html
如何测试 Fastlane 中是否存在一个目录?感谢您的阅读和帮助!
检查这个的正确格式:
Dir.exist? "#{save_path}"
如果存在则 return 为真,不存在则为假。
大声笑好吧,我发现了我的问题。我没有意识到我必须包含每个语句的完整路径,因为我正在使用 Dir.foreach
遍历文件系统的一部分;更新后的语法是:
Dir.foreach(save_path) do |dir|
next if dir == '.' or dir == '..'
if (File.directory?("#{save_path}#{dir}"))
begin
FileUtils.mkdir_p("./#{save_path}#{dir}/images")
rescue StandardError => e
UI.message("Failed to make directory ./#{save_path}#{dir}/images: #{e.to_s}")
return
end
end
end
这与 if 语句中的 File.directory?("#{dir}")
相对。我认为 Ruby Dir
和 FileUtil
库将相对于当前目录查找路径的其余部分。
我无法从 Fastlane 操作或通道中测试目录是否存在。当前目录中 save_path = "./dir_name"
和 save_path = "dir_name"
的以下工作的 None(fastlane
正在 运行):
!Dir.empty?(save_path)
!Dir[save_path].empty?
Dir.exist?(save_path)
File.exist?(save_path)
File.directory?(save_path)
我什至尝试扩展相对路径:
File.exists? File.expand_path(save_path)
我参考了以下内容:
- Check if directory is empty in Ruby
- How to check if a given directory exists in Ruby
- https://blog.bigbinary.com/2017/02/28/dir-emtpy-included-in-ruby-2-4.html
- https://ruby-doc.org/core-2.2.0/Dir.html
如何测试 Fastlane 中是否存在一个目录?感谢您的阅读和帮助!
检查这个的正确格式:
Dir.exist? "#{save_path}"
如果存在则 return 为真,不存在则为假。
大声笑好吧,我发现了我的问题。我没有意识到我必须包含每个语句的完整路径,因为我正在使用 Dir.foreach
遍历文件系统的一部分;更新后的语法是:
Dir.foreach(save_path) do |dir|
next if dir == '.' or dir == '..'
if (File.directory?("#{save_path}#{dir}"))
begin
FileUtils.mkdir_p("./#{save_path}#{dir}/images")
rescue StandardError => e
UI.message("Failed to make directory ./#{save_path}#{dir}/images: #{e.to_s}")
return
end
end
end
这与 if 语句中的 File.directory?("#{dir}")
相对。我认为 Ruby Dir
和 FileUtil
库将相对于当前目录查找路径的其余部分。