Я пытаюсь разархивировать файл в моем плагине Spree.NameError - uninitialized constant Zip
Определите способ распаковки в модуле, который выглядит следующим образом.
module ImportImages
class Zipper
def self.unzip(zip, unzip_dir, remove_after = false)
Zip::File.open(zip) do |zip_file|
zip_file.each do |f|
f_path=File.join(unzip_dir, f.name)
FileUtils.mkdir_p(File.dirname(f_path))
zip_file.extract(f, f_path) unless File.exist?(f_path)
end
end
FileUtils.rm(zip) if remove_after
end
end
end
Я включил драгоценный камень rubyzip в свой Gemfile.
gem 'rubyzip'
gem 'zip-zip'
При попытке запустить его, я получаю следующее сообщение об ошибке.
NameError - uninitialized constant ImportImages::Zipper::Zip:
Я пробовал все решения, предоставляемые в stackoverflow и других сайтах. Я попытался понизить версию rubyzip, которая сейчас равна 1.2.0, и добавьте require 'zip'
или require 'zip/zip'
. Оба возвратили ошибку загрузки.
Я попробовал добавить require 'zip/filesystem'
к классу. Но получил
LoadError - cannot load such file -- zip/zipfilesystem
Любое решение для этого?
'камень 'rubyzip', '<1.0.0'' вы попробовали это? –
По-прежнему получает ту же ошибку. Если вы пытаетесь добавить require, я получаю 'не могу загрузить такой файл - zip/zipfilesystem' – Aswathy
https://github.com/rubyzip/rubyzip#important-note вы прочитали это –