我正在制作一个基本的 Sinatra 应用程序来玩Passbook gem。
我的应用程序在 上运行良好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
在rubyzip
我的 Gemfile 中,单独和同时包含,但它们都没有解决问题。