如何在heroku上运行phantomjs?

时间:2012-09-19 13:13:01

标签: ruby heroku phantomjs

我正在尝试在heroku雪松堆上运行phantomjs。

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

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

我有什么遗失的东西吗? buildpack在哪里安装phantomjs二进制文件?有没有办法知道二进制文件的路径?

我正在使用ruby 1.9.2

非常感谢你的帮助。

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

2 个答案:

答案 0 :(得分:27)

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

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

答案 1 :(得分:1)

对于使用javascript的phantomjs

我不知道前面的示例是否确实必要,因为我使用的是javascript,它应该没有什么不同。对我来说,我要做的就是将phantomjs buildpack放在您的主服务器上已安装的buildpacks列表中的第一个。

检查可用的构建包

从应用程序文件夹

打开终端,然后键入:

heroku buildpacks

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

1.heroku/node.js

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

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

因此,要删除构建包,请输入:

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

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

heroku buildpacks

现在,它应该只显示

1.heroku/node.js

太好了,现在我们添加phantomjs buildack来确保它是first。如此终端类型:

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