ここにrubyonrailsサイト(rails 2.0.2、ruby 1.8.6)があり、rubyzipとziprubyの両方がインストールされていますが、File.existsで競合しますか?メソッドなので、1つ削除したいと思います。今後の最高のzipAPIに関する一般的なコンセンサスは何ですか?
お互いに大きな利点はありますか?
ここにrubyonrailsサイト(rails 2.0.2、ruby 1.8.6)があり、rubyzipとziprubyの両方がインストールされていますが、File.existsで競合しますか?メソッドなので、1つ削除したいと思います。今後の最高のzipAPIに関する一般的なコンセンサスは何ですか?
お互いに大きな利点はありますか?
私が見たところ、rubyzipはzipファイルのインデックスとレコードを独自に処理するため、zipファイルを奇妙に処理することがあります。たとえば、rubyzipを使用してdocxファイルを解凍して再パックした場合、MicrosoftWordはそのファイルを開きません。ただし、ziprubyは非常に標準的なlibzip Cライブラリ(わずかなカスタマイズを含む)を使用しており、docxを壊すことはありません。したがって、フォーマットの互換性を目指す場合は、ziprubyを使用することをお勧めします。たぶん、rubyzipは私が試したので改善されましたが、自分で試してみてください。
私も試したことがないので、完全にランダムな答えです。現在の状態から前進すると、RubyZipの方が有望かもしれません。次の(わずかな)データから判断すると、RubyZipの方が人気があり、Rubyの新しいバージョンでより適切に機能するようです。
1.9のRubyZip:http: //isitruby19.com/rubyzip
1.9のZipRuby:http: //isitruby19.com/zipruby
より良い証拠が得られない限り、私はrubyZipを使用します。Ruby1.9.2でうまく機能するzipライブラリも参照してください。。ただし、RubyZip(https://github.com/postmodern/rubyzip2)のフォークもあり、その人気を示しています。そして、ドキュメントはもっと面白そうです。
zipファイルから1つまたはいくつかのファイルを取得するだけでよい場合は、使用Pinch
を試みることができます。これにより、rubyでhttpを介してファイルを抽出できます。
https://github.com/toretore/zippy gemをよく使用しましたが、かなり良いと思います。これはrubyzipのラッパーであり、zipファイルの操作を大幅に簡素化します。
rubyzipはパスワード保護を行っていないようですが、ziprubyはパスワード保護を行っています:link
rubyzipはファイルの誤った非圧縮値を保存する可能性があるため、非圧縮時に一部の非圧縮ライブラリ(minizなど)が失敗するようです。ziprubyは、正しい非圧縮サイズを格納しているように見えます。ziprubyで行きます。