Passbook gemをいじる基本的な Sinatra アプリを作成しています。
私のアプリは で正常に動作localhostしますが、Heroku で実行しようとすると、次のエラー メッセージが表示されます。
/app/vendor/bundle/ruby/2.0.0/gems/passbook-0.2.1/lib/passbook/pkpass.rb:122:in `outputZip'
/app/vendor/bundle/ruby/2.0.0/gems/passbook-0.2.1/lib/passbook/pkpass.rb:60:in `stream'
/app/vendor/bundle/ruby/2.0.0/gems/sinatra-1.4.4/lib/sinatra/base.rb:1593:in `call'
NoMethodError - undefined method `write_buffer' for Zip::ZipOutputStream:Class:
passbook.stream.stringこれは、アプリ ファイルの行を呼び出すと発生します。
Passbook はここでは問題ではないと思います。ローカル マシンwrite_bufferのバージョンにはクラス メソッドが存在するようですZip::ZipOutputStreamが、Heroku には存在しません。どうしてこれなの?どうすれば回避できますか?
zipGemfile にとの両方をrubyzip個別に同時に含めようとしましたが、どちらも問題を解決しません。