Casperjs(1.03)とphantomjs(1.9.2)の最新バージョンをダウンロードしました。
だから私はこの小さな簡単なスクリプトをキャスパーページから取った:
var casper = require('casper').create({
verbose: true,
logLevel: "debug"
});
var casper = new require('casper').Casper();
それを実行しようとすると、次のエラーが発生します。
noname:phantomjs-1.9.2 Tom$ casperjs/bin/casperjs tipico2.js
Fatal: [Errno 2] No such file or directory; did you install phantomjs?
だから、これは私のディレクトリ構造です:
phantomjs-1.9.2/ <-- the folder containing phantomjs
phantomjs-1.9.2/casperjs/ <-- a subfolder containting casperjs
なぜ動作しないのですか?
解決策は実際には非常に簡単です。 phantomjsのバイナリがあるパスをエクスポートするだけです。私の場合、これは/Users/Tom/Downloads/phantomjs-1.9.2/binなので、
export PATH=$PATH:/Users/Tom/Downloads/phantomjs-1.9.2/bin
Osxにnpmでcasperをグローバルにインストールすると、同じ問題に直面しました。最初に、環境変数PHANTOMJS_EXECUTABLEをphantomjsがインストールされているパスに設定しました(通常は/ usr/local/lib/node_modules/casperjs/node_modules/phantomjs/lib/phantom/bin/phantomjs phantomjs)。
export PHANTOMJS_EXECUTABLE=/usr/local/lib/node_modules/casperjs/node_modules/phantomjs/lib/phantom/bin/phantomjs phantomjs
ファイルもフォルダーも/ usr/local/bin/phantomjsもないなどのエラーが発生したため、これは部分的にしか役に立ちませんでした。そのため、シンボリックリンクを作成して、実際のバイナリフォルダーを
ln -s /usr/local/lib/node_modules/casperjs/node_modules/phantomjs/lib/phantom/bin/phantomjs /usr/local/bin/phantomjs
これが誰かを助けることを願っています:)
OS Xの場合:
brew install casperjs --devel
brew install phantomjs
そしてそれはうまくいきます
PHPでこのエラーが発生する場合は、これをexecの上に配置します。
<?php
putenv("PHANTOMJS_EXECUTABLE=/usr/local/bin/phantomjs");
?>
Path /usr/local/bin/phantomjs
は、phantomjsインストールへのパスです。これを取得するには、たとえば、ターミナルにwhich phantomjs
と入力します。
ステップ1-環境変数に移動
スタート->環境変数->環境変数またはマイPC->プロパティ->システムの詳細設定->環境変数
ステップ2-新しいPATHをPhantomJS/binフォルダーに設定
PATH(ユーザーまたはシステム)->編集を選択します
新規->参照-> HDD上のPhantomJSインストールでBINフォルダーを検索
ステップ3-作業をテストする
CMDを開く->「phantomjs -v」と入力します
ツリー内の任意のフォルダーに回答としてphantomJSバージョン番号を取得する必要があります。
私はこの問題を抱えていました。 2つの異なるWindowsマシンで試してみました。
Node_modulesフォルダーとAppData/Roaming ...からすべてのnpmインストールバージョンを削除しました。
最初にインストールされたc:/からファントムとキャスパーを削除しました。
ダウンロードしたファントムを https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-windows.Zip からProgram Filesフォルダーに抽出しました
キャスパーをダウンロードし、プログラムファイルフォルダーに https://github.com/casperjs/casperjs/zipball/1.1. から抽出しました
システム環境変数C:\ Program Files\phantomjs-2.1.1-windows\binを設定します
システム環境変数C:\ Program Files\casperjs-casperjs-b5c59e1\binを設定します
他のいくつかの投稿で言及されているように、PHANTOMJS_EXECUTABLEを設定しませんでした。それが違いをもたらすかどうかはわかりませんが、Phantom 2.1.1とcasper 1.1.0がインストールされたWindows 10で上記の手順を100%実行します
Casperjsをnpmでosxにグローバルにインストールした後、同じ問題に直面しました。解決策は実際には非常に簡単です。 casperjsをphantomjsに接続するには、スクリプトの先頭にこれらの行を含める必要があります。
phantom.casperPath = "/path_to/casperjs/";
phantom.injectJs(phantom.casperPath + "/bin/bootstrap.js");