我在本地使用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);
答案 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的方法。