ソフラボの技術ブログ

仕事で使ったプログラミング、サーバー周りで役に立つこと、Webサービス開発に必要な技術情報、モバイル情報を書いてます。わかりやすく見やすくをモットーにしています。

PhantomJS2.0のバイナリをLinuxで使う

f:id:shinsuke789:20150804174808p:plain

PhantomJS+CasperJSを使ってスクレイピングするプログラムを作成し、Macでは正常に動作していました。

サーバー環境であるLinuxで動作させると、なぜかリンクのクリックでエラーが出てプログラムが動作しません。

Mac環境では、PhantomJS2.0、CasperJS1.1-bata3で問題なく動作していますが、
Linux環境では、PhantomJS1.9.8、CasperJS1.1-bata3で問題が発生しています。

Macと同じ2.0のバイナリを使う方法がないか調査してみました。

ソースからビルドする

公式サイトには、Linux版のバイナリが配布されておらず、各自ビルドするように書かれています。

Binary packages for Linux are still being prepared.
There are still issues to be solved until a static build is available (see issue 12948 for more details).
In the mean time, it is recommended that you build the Linux version from source.


しかし、問題があるようでビルドしても時間がかかって最終的にエラーでバイナリが生成されません。

shinsuke789.hatenablog.jp


現在では、gitからチェックアウトするとビルドできるようになっていますが、「2.0.1-development」ということで正式版ではありません。

試しにLinuxで動かすと動くけどもっさりしてて、CPU使用率が高めです。

PhantomJS2.0のバイナリをダウンロードする

次のサイトにパッチを当てたビルド方法が書かれていて、最後に2.0のバイナリがダウンロードできるようになっています。

blog.rampinteractive.co.uk

ビルドしても時間がかかるだけなので、素直にバイナリをダウンロードしましょう。