11

Ruby on Rails でアプリを開発するために Ubuntu 11.04 を使用しています。アプリでは、pdf ドキュメントを生成する必要があります。だから私は wicked_pdf と wkhtmltopdf-binary gems を使用しています。

私のシステムの開発環境では、すべて正常に動作しています。しかし、Phusion Passenger を使用して CentOS 5.6 で本番環境にアプリをデプロイした後、オンザフライで PDF を生成しようとすると、次のエラーが表示されます。

RuntimeError (wkhtmltopdf の場所が不明)

Ruby1.9.2.p136 Rails 3.1.1 を使用しています

どんな助けでも大歓迎です....ありがとう。

4

6 に答える 6

13

別の方法は、Gemfile を介してバイナリをインストールすることです。

次の行を production グループに追加するだけです。

gem 'wkhtmltopdf-binary'

これにより、linux-i386、amd64、および darwin のバイナリ サポートが追加されます。

そして、実行します

bundle install --without development test

gem を本番環境にインストールします。その後、サーバーを再起動するだけです。

それで全部です。

これが役立つことを願っています

于 2013-12-27T17:11:53.113 に答える
11

静的な wkhtmltopdf バイナリを使用していますか? ここからダウンロードして解凍しました/path/to/rails_app/bin

次のようにレールに追加します。

#config/initializers/wicked_pdf.rb
WickedPdf.config = {
  :exe_path => Rails.root.join('bin', 'wkhtmltopdf-i386').to_s,
}
于 2011-10-11T10:49:35.777 に答える
8

Mac OS の場合 - x では、homebrew で wkhtmltopdf をインストールする必要があります。

$ brew tap homebrew/boneyard # the wkhtmltopdf formula is now inactive but still available in the boneyard repository 
$ brew install wkhtmltopdf
于 2012-08-30T16:41:56.540 に答える
4

OS X Yosemite のソリューション

Mac OS X 10.10 (Yosemite) で動作させるには、wkhtmltopdf-binarygem をインストールして、次の場所に配置しますconfig/initializers/wicked_pdf.rb

module WickedPdfHelper
  if Rails.env.development?
    if RbConfig::CONFIG['host_os'] =~ /linux/
      executable = RbConfig::CONFIG['host_cpu'] == 'x86_64' ? 'wkhtmltopdf_linux_x64' : 'wkhtmltopdf_linux_386'
    elsif RbConfig::CONFIG['host_os'] =~ /darwin/
      executable = 'wkhtmltopdf_darwin_386'
    else
      raise 'Invalid platform. Must be running linux or intel-based Mac OS.'
    end

    WickedPdf.config = { exe_path: "#{Gem.bin_path('wkhtmltopdf-binary').match(/(.+)\/.+/).captures.first}/#{executable}" }
  end
end

Ps .: このソリューションは Linux でも機能します。

于 2014-10-27T04:31:04.207 に答える