【发布时间】:2013-10-28 11:04:56
【问题描述】:
我正在制作一个基本的 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 上不存在。为什么是这样?我怎样才能绕过它?
我尝试在我的 Gemfile 中同时包含 zip 和 rubyzip,但它们都不能解决问题。
【问题讨论】:
标签: ruby heroku zip sinatra rubyzip