casperjs does not find phantomjs

2019-02-05 21:06发布

I've downloaded the latest version of casperjs (1.03) and phantomjs (1.9.2).

So I took this little simple script from the casper page:

var casper = require('casper').create({
    verbose: true,
    logLevel: "debug"
});
var casper = new require('casper').Casper();

and when I try to run it I get the following error:

noname:phantomjs-1.9.2 Tom$ casperjs/bin/casperjs tipico2.js 
Fatal: [Errno 2] No such file or directory; did you install phantomjs?

So, this is my directory structure:

phantomjs-1.9.2/ <-- the folder containing phantomjs
phantomjs-1.9.2/casperjs/ <-- a subfolder containting casperjs

Why does it not work?

6条回答
Explosion°爆炸
2楼-- · 2019-02-05 21:45

Faced the same problem when installed casper with npm globally on osx. At first I've set environment variable PHANTOMJS_EXECUTABLE to path where phantomjs was installed (it's usually /usr/local/lib/node_modules/casperjs/node_modules/phantomjs/lib/phantom/bin/phantomjs phantomjs) with

export PHANTOMJS_EXECUTABLE=/usr/local/lib/node_modules/casperjs/node_modules/phantomjs/lib/phantom/bin/phantomjs phantomjs

this helped only partially as I still got an error like there's no file nor folder /usr/local/bin/phantomjs, so I've just created symlink and pointed it to real binary folder with

ln -s /usr/local/lib/node_modules/casperjs/node_modules/phantomjs/lib/phantom/bin/phantomjs /usr/local/bin/phantomjs

hope this will help someone :)

查看更多
在下西门庆
3楼-- · 2019-02-05 21:51

I had this problem. Tried on 2 different windows machines.

Deleted all npm installed versions from node_modules folders and AppData / Roaming....

Deleted phantom and casper from c:/ where initially installed.

Downloaded phantom and extracted to Program Files folder from https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-windows.zip

Downloaded casper and extracted to Program Files folder from https://github.com/casperjs/casperjs/zipball/1.1.0

Set System Environment Variable C:\Program Files\phantomjs-2.1.1-windows\bin

Set System Environment Variable C:\Program Files\casperjs-casperjs-b5c59e1\bin

I DIDN'T set PHANTOMJS_EXECUTABLE as some other posts have mentioned. Not sure whether it would make a difference, but 100% working with above steps on Windows 10 with Phantom 2.1.1 and casper 1.1.0

查看更多
Anthone
4楼-- · 2019-02-05 21:53

For OS X:

brew install casperjs --devel

brew install phantomjs

and it will works

查看更多
Juvenile、少年°
5楼-- · 2019-02-05 21:59

If you are getting this error in PHP, place this above your exec:

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

Where path /usr/local/bin/phantomjs is the path to your phantomjs install. You can get this by typing which phantomjs into terminal for example.

查看更多
爷、活的狠高调
6楼-- · 2019-02-05 22:04

The solution is actually very simple. Just export the path where the binary of phantomjs is. In my case this is /Users/Tom/Downloads/phantomjs-1.9.2/bin, hence

export PATH=$PATH:/Users/Tom/Downloads/phantomjs-1.9.2/bin
查看更多
再贱就再见
7楼-- · 2019-02-05 22:08

Solution For Windows

STEP 1 - Go to Environment Variables

Start -> Environment Variables -> Environment Variables or My PC -> Properties -> Advanced System Settings -> Environment Variables


STEP 2 - Set new PATH to your PhantomJS/bin folder

Select PATH (User or System) -> Edit

New -> Browse -> find your BIN folder in PhantomJS installation on your HDD Accept


STEP 3 - Test Your Work

Open CMD -> Type "phantomjs -v"

You should get phantomJS version number as answer in any folder in your tree.

查看更多
登录 后发表回答