これは役に立ちました。このヘッドレスブラウジングには多くの調査が必要であり、詳細が他の人に役立つ可能性があるため、コメントを回答に移動しています。
ファントムの名前は紛らわしいです。Phantom JSはノード モジュールではないため、npm レジストリから直接ダウンロードすることはできません。ローカル開発用にphantomjs.orgから 実行可能バイナリをダウンロードしてコンピューターにインストールし、ビルドパックを使用して Heroku にインストールできます。
これら 2 つの一般的な Phantom JS の Node ラッパーをインストールできます。 これらはコアの phantomjs.org プロジェクトの一部ではありませんが、Node アプリからそのライブラリを実行できるようにします。
- 質問で参照されているnpm phantomjs 。このモジュールは、phantomjs 実行可能ファイルの安定したバージョンを依存関係としてダウンロードしようとします
npm install phantomjs --save
。バイナリは、サーバーが Phantom JS を探すことを認識しているディレクトリに格納されているため、この質問に回答しました。
- npmファントム
Phantom ラッパーとカスタム ビルドパックを使用npm phantom
して、Phantom JS バイナリを Heroku にインストールすることにしました。バージョン 1.9.x を実行している Heroku を搭載した Mac で Phantom JS 2.0 を使用するのは好きではありません。いくつかの問題があるため、Linux 2.0 はまだ利用できません。
Herokubuildpacks:add --index 1
では、数値位置のフラグを使用してビルドパックの順序をオプションで設定するなど、いくつかのマイナーな構文変更が行われました。実行heroku buildpacks
して、使用しているものとインストールされる順序を確認します。
Buildpack の使用が 1 つしかなく:set
、Buildpack を提供する必要があるhttps
場合は、古い Phantom の例をコピーしてhttp
リポジトリに貼り付けることはできません。
Heroku の公式ノード ビルドパック
heroku buildpacks:set https://github.com/heroku/heroku-buildpack-nodejs
非公式の Phantom JS ビルドパック (npm モジュールではありません)
heroku buildpacks:add https://github.com/stomita/heroku-buildpack-phantomjs