3

そのため、ローカルで pdftk を使用して pdf フォームを生成する管理アプリを構築しています (テナント/経費データが事前に入力されています)。ローカル マシンで魔法のように動作します。ただし、Heroku では次のエラーが発生します。

pdftk 実行可能ファイル /usr/local/bin/pdftk が見つかりません

PDFファイルを生成しようとすると、ログに記録されます。ビルドパックを使用してherokuアプリにpdftkをインストールする必要があることに気づきました。Vulcan でいくつかのチュートリアルに従ってみましたが、vulcan は推奨されておらず、heroku run を使用すると書かれていますが、pdftk-source のインストール方法に関するドキュメントはあまり見つかりません: https://github.com/millie/pdftk- heroku run を使用したソース。

https://github.com/millie/heroku-buildpack-ruby-pdftkを試してみますが、もっと簡単で面倒でない方法があれば教えてください。

編集: 上記の方法を試してみたところ、heroku のログに次のように表示されました。検出。私は何か間違ったことをしているに違いありませんが、指示に正確に従いました。唯一の違いは、S3 の代わりにドロップボックスを使用して tar.gz ファイル (pdftk ソース) を保存したことです。

編集:わかりました。pdftk 実行可能ファイルを heroku ビルドパックに含めて、アプリ環境の一部として正常にアップロードする方法を見つけました。ただし、非常に奇妙な理由で、heroku bash コンソールで、pdftk ディレクトリに cd して実行可能ファイルを実行しようとすると、heroku bash は pdftk 実行可能ファイルが見つからないと言います。

それは私のローカルマシンで動作します.pdftkディレクトリに移動してpdftkを実行すると、実行可能ファイルが実行されるため、実行可能ファイルではありません..では、heroku bashディレクトリ内で動作しないのはなぜですか?

解決策: pdftk はライブラリ ファイルに依存しているため、heroku の構成変数に LD_LIBRARY_PATH の設定がありませんでした。また、tar.gz をルート ディレクトリに tar し、PATH を /bin/pdftk に設定することを忘れないでください。IRC で #heroku をチェックしてみてください。ここで答えを得ました。

4

3 に答える 3

1

これは、herokuのnodejsアプリでpdftkをセットアップする方法です

  1. heroku アプリの作成

    heroku create
    
  2. pdftk のビルドパックを設定する

    BUILDPACK_URL=https://github.com/ddollar/heroku-buildpack-apt
    
  3. nodejs のビルドパックを設定する

    heroku buildpacks:add --index 1 heroku/nodejs
    
  4. libgcj.so.* を検索パスに追加します。

    heroku config:set LD_LIBRARY_PATH=/app/bin
    
  5. 少なくとも 1 つの dyno をオンにする

    heroku ps:scale web=1
    
  6. プロジェクトのルートに Procfile を作成し、以下を定義します。

    web: node server.js
    
  7. heroku に変更をプッシュする

    git push heroku master
    
于 2016-10-18T08:20:41.660 に答える