PhantomJS的2.5.0 beta版已经可以使用 ,但与稳定版本不同的是,Linux安装有一些依赖关系。 我无法在Heroku上获得工作版本。 我无法在Google小组或其他地方find指南或任何真正的答案。 我怎样才能获得安装?
最终,我能弄明白了! 有几件事你必须做…
heroku buildpacks:add --index 1 https://github.com/heroku/heroku-buildpack-apt
heroku buildpacks:add https://github.com/lookitsatravis/heroku-buildpack-phantomjs.git
cat > Aptfile << EOL webp libhyphen0 https://mirrors.kernel.org/ubuntu/pool/main/g/gcc-5/gcc-5_5.4.1-8ubuntu1_amd64.deb https://mirrors.kernel.org/ubuntu/pool/main/g/gcc-5/libstdc++6_5.4.0-6ubuntu1~16.04.4_amd64.deb EOL
Aptfile
,推送到Heroku应用程序。 依赖关系:您必须使用Heroku Apt构建包来安装缺失的依赖关系。 首先,您需要将buildpack添加到您的应用程序中:
heroku buildpacks:add --index 1 https://github.com/heroku/heroku-buildpack-apt
接下来,您将在项目根目录下创建一个名为Aptfile
的文件。 这里是我们添加PhantomJS 2.5.0 Beta的缺失依赖关系的地方。 2.5.0引入了webp
支持,所以我们需要这个。 libhyphen0
也是必需的,尽管我不确定它是如何使用的。 最后,我们使用gcc-5
和最新的libstdc++6
。 内容应该是这样的:
webp libhyphen0 https://mirrors.kernel.org/ubuntu/pool/main/g/gcc-5/gcc-5_5.4.1-8ubuntu1_amd64.deb https://mirrors.kernel.org/ubuntu/pool/main/g/gcc-5/libstdc++6_5.4.0-6ubuntu1~16.04.4_amd64.deb
PhantomJS:接下来我们抓住最新版本的PhantomJS。 我已经创建了最流行的 PhantomJS buildpack的一个分支 ,并更新了它与2.5.0测试版一起使用。 2.5.0 beta已经建立了xenial
和xenial
,所以构建包会检测Heroku堆栈并使用合适的堆栈(尽管在xenial
, xenial
-16堆栈仍处于测试阶段)。 所以,把它添加到你的应用程序:
heroku buildpacks:add https://github.com/lookitsatravis/heroku-buildpack-phantomjs.git
部署:剩下的就是部署! 提交Aptfile
到你的Aptfile
,确保Aptfile
包已经安装,然后推送到Heroku。
花了一些尝试和错误,但最终我能够得到它启动和运行。 希望这有助于他人,直到最终候选人被释放。