私はSpreeプラグインでファイルを解凍しようとしています。NameError - 初期化されていない定数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
私はGemfileにrubyzip gemを含めました。
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これを読んだか –