2013-04-15 64 views
0

Heroku不允许我将airbrake和wkhtmlpdf-heroku宝石放在一起。我以前的推送工作正常,没有空气制动。如果我把我的Gemfile再次空气制动,结果如下错误:安装时出现错误wkhtmtopdf-heroku

Bundler::GemspecError: Could not read gem at /tmp/build_li34yprz7arq/vendor/bundle/ruby/1.9.1/cache/wkhtmltopdf-heroku-1.0.0.gem. It may be corrupted. 
    An error occurred while installing wkhtmltopdf-heroku (1.0.0), and Bundler 
    cannot continue. 

你知道有什么理由说是怎么回事?谢谢!

+0

请参阅此链接http://stackoverflow.com/questions/7130669/heroku-zentest-and-rubygems – Shrikant1712

回答

0

wkhtmltopdf-heroku gem只是在您的项目中放入一个wkhtmltopdf二进制文件,并为常见的'客户端'宝石设置配置。你可以自己手动完成。我这样说是因为我还有其他一些奇怪的问题与那些在我为自己设置时神秘地离开的宝石有关。

所以试试把wkhtmltopdf-amd64放到你的项目的bin目录下,然后做你自己的配置。在我的情况下,对于wicked_pdf,这意味着在/初始化含有wicked_pdf.rb

WickedPdf.config = { :exe_path => (Rails.env.test? || Rails.env.development? ? 'c:\Program Files\wkhtmltopdf\wkhtmltopdf.exe' : Rails.root.join('bin', 'wkhtmltopdf-amd64').to_s), 
       :page_size => 'Letter', 
       :outline => {:outline => true, :outline_depth => 4}} 

只是为了澄清,即指向我的C驱动器上的窗口的二进制用于测试和生产,否则(意味着生产)指向我在项目bin目录下的amd-64二进制文件(用于Heroku)。

+0

生产你会做什么? – prem

+0

生产是'not test/dev'的情况,它将它指向我放入项目bin目录的二进制文件。我不喜欢这个解决方案,但它是唯一能够可靠地为我工作的产品。 Rails.root.join('bin','wkhtmltopdf-amd64')。to_s – elc