如何在Heroku上使用PhantomJS 2.5.0 Beta

PhantomJS的2.5.0 beta版已经可以使用 ,但与稳定版本不同的是,Linux安装有一些依赖关系。 我无法在Heroku上获得工作版本。 我无法在Google小组或其他地方find指南或任何真正的答案。 我怎样才能获得安装?

最终,我能弄明白了! 有几件事你必须做…

TL; DR:

  1. heroku buildpacks:add --index 1 https://github.com/heroku/heroku-buildpack-apt
  2. heroku buildpacks:add https://github.com/lookitsatravis/heroku-buildpack-phantomjs.git
  3. 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
  4. 提交Aptfile ,推送到Heroku应用程序。

更多信息

  1. 依赖关系:您必须使用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 
  1. PhantomJS:接下来我们抓住最新版本的PhantomJS。 我已经创建了最流行的 PhantomJS buildpack的一个分支 ,并更新了它与2.5.0测试版一起使用。 2.5.0 beta已经建立了xenialxenial ,所以构建包会检测Heroku堆栈并使用合适的堆栈(尽管在xenialxenial -16堆栈仍处于测试阶段)。 所以,把它添加到你的应用程序:

    heroku buildpacks:add https://github.com/lookitsatravis/heroku-buildpack-phantomjs.git

  2. 部署:剩下的就是部署! 提交Aptfile到你的Aptfile ,确保Aptfile包已经安装,然后推送到Heroku。

花了一些尝试和错误,但最终我能够得到它启动和运行。 希望这有助于他人,直到最终候选人被释放。