如何在Heroku上运行PhantomJS?

13

我正在尝试在heroku cedar平台上运行phantomjs。

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

我读到了有关需要将LD_LIBRARY_PATH设置为“/usr/local/lib:/usr/lib:/lib:/app/vendor/phantomjs/lib”的内容,我已经这样做了,但没有成功。

我错过了什么吗? 构建包将phantomjs二进制文件安装在哪里?有没有办法知道二进制文件的路径?

我正在使用ruby 1.9.2

非常感谢您的帮助。

编辑:更明确地说,我想结合ruby和phantomjs,因此我正在使用此自定义构建包:https://github.com/ddollar/heroku-buildpack-multi,但当我推送到heroku时,出现“Heroku push rejected, failed to compile Multipack app”。

2个回答

32

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

如果您尚未创建一个bin/目录,请在您的应用中创建一个并将二进制文件放置在那里。然后您应该可以通过“heroku run 'phantomjs'”或“heroku run 'bin/phantomjs'”来测试是否可以运行它。


非常棒的解决方案,迄今为止我尝试过的最简单、最快速的方法,而且它真的有效。 - SergeyB
2
对我有用!请确保解压缩 .bz2 文件并获取 phantomjs 二进制文件,如果您下载的是主要列出的压缩文件。 - Amin Ariana
2
很棒的解决方案!请确保只拿bin文件夹里的“phantomjs”文件,而不是整个下载文件夹。 - Jordan Rumpelstiltskin Nemrow
1
你要么等几天直到Linux二进制2.0包准备好,要么按照这里的说明自己尝试构建:http://phantomjs.org/build.html。如果你不喜欢这两个选项,可以尝试在非官方来源http://phantomjs.org/releases.html中搜索旧版本的构建。 - user1071182
这个完美地运行了。我不需要最新的2.0版本,所以能够使用apt-get安装1.9版本,并将/usr/lib/phantomjs/phantomjs上传到我的应用程序的bin目录中,它工作得非常好。注意:不需要任何其他的构建包配置。 - Dylan
显示剩余2条评论

1

针对使用JavaScript的PhantomJS

我不确定之前的例子是否实际上是必要的,因为虽然我正在使用JavaScript,但它不应该有所不同。对于我来说,我所要做的就是将PhantomJS Buildpack放在您的主目录安装的Buildpack列表中的第一位。

检查可用的Buildpacks

从应用程序文件夹打开终端并键入:

heroku buildpacks

这将显示可用的构建包。 例如:
1.heroku/node.js

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

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

要删除构建包,请键入:

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

这将移除构建包。您可以通过输入以下内容进行检查:
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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接