12

我正在尝试在 heroku cedar 堆栈上运行 phantomjs。

我正在为 heroku https://github.com/stomita/heroku-buildpack-phantomjs使用 phantomjs buildpack 。但是,我按照说明进行操作,但仍然无法使其正常工作。当我运行命令heroku run bash并输入phantomjs --version它说phantomjs: command not found

我阅读了有关 LD_LIBRARY_PATH 需要设置为“/usr/local/lib:/usr/lib:/lib:/app/vendor/phantomjs/lib”的内容,这就是我所做的,但没有成功。

有什么我想念的吗?buildpack 究竟在哪里安装了 phantomjs 二进制文件?有没有办法知道二进制文件的路径?

我正在使用红宝石 1.9.2

非常感谢你的帮助。

编辑:更准确地说,我想结合 ruby​​ 和 phantomjs,所以我使用这个自定义 buildpack:https ://github.com/ddollar/heroku-buildpack-multi ,但是当我推送到 heroku 我得到“Heroku push被拒绝,无法编译 Multipack 应用程序”

4

2 回答 2

30

从 phantomjs.org 下载 64 位 linux 二进制文件http://phantomjs.org/download.html

如果您还没有 bin/ 目录,请在您的应用程序中创建一个目录并将二进制文件放在那里。然后,您应该能够测试是否可以使用“heroku run 'phantomjs'”或“heroku run 'bin/phantomjs'”运行它

于 2012-11-16T04:56:39.403 回答
1

对于带有 javascript 的 phantomjs

我不知道前面的例子是否真的有必要,因为虽然我正在使用 javascript,但它不应该有所不同。对我来说,我所要做的就是将 phantomjs buildpack 作为您的 master 上已安装 buildpacks 列表中的第一个。

检查可用的构建包

从 app 文件夹打开终端并输入:

heroku buildpacks

这将显示可用的构建包。例如。

1.heroku/node.js

2.https://github.com/stomita/heroku-buildpack-phantomjs.git

如您所见,buildpack 在此列表中排名第二。我们需要使它成为列表中的第一个。所以,我所做的是我删除了 phantomjs 构建包,然后再次添加它,但这次确保它在所有可用构建包列表中的第一个。

因此,要删除 buildpack,请键入:

heroku buildpacks:remove https://github.com/stomita/heroku-buildpack-phantomjs.git

这将删除 buildpack。您可以通过键入以下内容进行检查:

heroku buildpacks

现在,它应该只显示,

1.heroku/node.js

太好了,现在我们添加 phantomjs buildack 确保它的第一个 . 所以在终端类型上:

heroku buildpacks:add --index 1 https://github.com/stomita/heroku-buildpack-phantomjs.git

您可以通过键入以下内容来检查它是否是第一个:

heroku buildpacks

现在,应该是,

1.https://github.com/stomita/heroku-buildpack-phantomjs.git
2.heroku/node.js

而已!!

现在,在终端上,输入:

heroku run bash

进入 bash 后,输入

phantomjs --version

phantomjs 的当前版本应该显示在终端上。

2.1.1
于 2019-09-29T19:38:10.033 回答