web-dev-qa-db-ja.com

casperjsがphantomjsを見つけられない

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

なぜ動作しないのですか?

24
toom

解決策は実際には非常に簡単です。 phantomjsのバイナリがあるパスをエクスポートするだけです。私の場合、これは/Users/Tom/Downloads/phantomjs-1.9.2/binなので、

export PATH=$PATH:/Users/Tom/Downloads/phantomjs-1.9.2/bin
23
toom

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

これが誰かを助けることを願っています:)

17
Egor Litvinchuk

OS Xの場合:

brew install casperjs --devel

brew install phantomjs

そしてそれはうまくいきます

5
h0x91B

PHPでこのエラーが発生する場合は、これをexecの上に配置します。

<?php
    putenv("PHANTOMJS_EXECUTABLE=/usr/local/bin/phantomjs");
?>

Path /usr/local/bin/phantomjsは、phantomjsインストールへのパスです。これを取得するには、たとえば、ターミナルにwhich phantomjsと入力します。

3
digout

Windowsのソリューション

ステップ1-環境変数に移動

スタート->環境変数->環境変数またはマイPC->プロパティ->システムの詳細設定->環境変数


ステップ2-新しいPATHをPhantomJS/binフォルダーに設定

PATH(ユーザーまたはシステム)->編集を選択します

新規->参照-> HDD上のPhantomJSインストールでBINフォルダーを検索


ステップ3-作業をテストする

CMDを開く->「phantomjs -v」と入力します

ツリー内の任意のフォルダーに回答としてphantomJSバージョン番号を取得する必要があります。

0
lucaste

私はこの問題を抱えていました。 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%実行します

0
Pete Herc

Casperjsをnpmでosxにグローバルにインストールした後、同じ問題に直面しました。解決策は実際には非常に簡単です。 casperjsをphantomjsに接続するには、スクリプトの先頭にこれらの行を含める必要があります。

phantom.casperPath = "/path_to/casperjs/";
phantom.injectJs(phantom.casperPath + "/bin/bootstrap.js");
0
Shaily