casperjs没有找到phantomjs

时间:2013-10-20 11:43:48

标签: path phantomjs casperjs

我已经下载了最新版本的casperjs(1.03)和phantomjs(1.9.2)。

所以我从casper页面中获取了这个简单的小脚本:

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

为什么不起作用?

7 个答案:

答案 0 :(得分:22)

解决方案实际上非常简单。只需导出phantomjs的二进制文件所在的路径。在我的例子中,这是/Users/Tom/Downloads/phantomjs-1.9.2/bin,因此

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

答案 1 :(得分:17)

在osx上全局安装带有npm的casper时遇到同样的问题。 首先,我将环境变量PHANTOMJS_EXECUTABLE设置为安装了phantomjs的路径(它通常是/ usr / local / lib / node_modules / casperjs / node_modules / phantomjs / lib / phantom / bin / phantomjs phantomjs) / p>

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

这只是部分帮助,因为我仍然遇到错误,例如没有文件或文件夹/ usr / local / bin / phantomjs,所以我只是创建了符号链接并将其指向真正的二进制文件夹< / p>

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

希望这会有所帮助:)

答案 2 :(得分:5)

对于OS X:

brew install casperjs --devel

brew install phantomjs

它会起作用

答案 3 :(得分:3)

如果您在PHP中收到此错误,请将其放在您的exec上方:

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

路径/usr/local/bin/phantomjs是phantomjs安装的路径。例如,您可以通过在终端中键入which phantomjs来获得此功能。

答案 4 :(得分:0)

适用于Windows的解决方案

第1步 - 转到环境变量

开始 - &gt;环境变量 - &gt;环境变量 要么 我的电脑 - &gt;属性 - &gt;高级系统设置 - &gt;环境变量

第2步 - 将新PATH设置为PhantomJS / bin文件夹

选择路径(用户或系统) - &gt;修改

新 - &gt;浏览 - &gt;在你的硬盘上找到PhantomJS安装中的BIN文件夹 接受

第3步 - 测试您的工作

打开CMD - &gt;输入&#34; phantomjs -v&#34;

您应该在树中的任何文件夹中获取phantomJS版本号作为答案。

答案 5 :(得分:0)

我遇到了这个问题。在2种不同的Windows计算机上尝试过。

从node_modules文件夹和AppData / Roaming中删除所有npm安装的版本。...

从c:/最初安装的地方删除了幻影和卡斯珀。

下载了幻像并从https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-windows.zip提取到Program Files文件夹

已下载Casper,并从https://github.com/casperjs/casperjs/zipball/1.1.0提取到Program Files文件夹

设置系统环境变量C:\ Program Files \ phantomjs-2.1.1-windows \ bin

设置系统环境变量C:\ Program Files \ casperjs-casperjs-b5c59e1 \ bin

正如其他一些帖子所述,我没有设置PHANTOMJS_EXECUTABLE。不确定是否会有所作为,但是100%可以在带有Phantom 2.1.1和casper 1.1.0的Windows 10上使用上述步骤

答案 6 :(得分:0)

在osx上全局安装带有npm的casperjs后,遇到了同样的问题。解决方案实际上非常简单。您必须在脚本顶部包含以下几行,才能将casperjs与phantomjs连接起来。

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