OpenShift出错:" phantomjs-node:你没有' phantomjs'安装"

时间:2015-03-31 02:49:29

标签: node.js phantomjs openshift

我在本地使用phantomjs-node成功创建了一个脚本,我想在OpenShift上托管。

问题是当我运行我的脚本托管时,我遇到了这个奇怪的错误:

  

幻像stderr:execvp():没有这样的文件或目录phantomjs-node:   你没有幻想'安装

但是正如您所看到的,我将依赖项放在package.json文件中:

"dependencies": {
  "express": "~3.4.4",
  "phantom": "*",
  "phantomjs": "*"
},

有什么建议吗?

修改:

这是我初始化phantomjs脚本的方式:

var options = {
  port: 16000,
  hostname: "127.2.149.1",
  path: "/phantom_path/"
}
phantom.create(function(ph) {
  visitUrl(ph, 0, 0);
}, options);

2 个答案:

答案 0 :(得分:2)

错误消息Chr()是来自phantomjs-node模块的内部错误。我自己遇到了这个错误,我设法解决了这个问题:

You don't have 'phantomjs' installed

请注意var phantom = require('phantom'); var options = { path: '/usr/local/bin/' }; phantom.create(function (ph) { ph.createPage(function (page) { page.open("http://www.google.com", function (status) { console.log("opened google? ", status); page.evaluate(function () { return document.title; }, function (result) { console.log('Page title is ' + result); ph.exit(); }); }); }); }, options); 传递给options方法。 phantom.create()选项应该是包含phantomjs二进制文件的目录的完整路径。

答案 1 :(得分:0)

Phantomjs-node正在您的Open Shift环境的PATH上寻找Phantomjs,但无法找到它。寻找一种在此PATH上添加Phantomjs的方法。