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 には存在しません。どうしてこれなの?どうすれば回避できますか?
zip
Gemfile にとの両方をrubyzip
個別に同時に含めようとしましたが、どちらも問題を解決しません。