有一个可用的nodejs/phantomjs Heroku构建包吗?

8
我想部署一个包含 Procfile 的应用程序,以运行指定命令。
web: node myapp.js

我的应用程序 myapp.js 使用 phantomjs-node 运行无头 WebKit,将结果返回给浏览器请求。这是否可行?

6个回答

30

我也遇到了同样的问题,解决方法是使用这个“多语言构建包”构建包。 然后在我的.buildpacks文件中放入以下内容:

http://github.com/heroku/heroku-buildpack-nodejs.git
http://github.com/stomita/heroku-buildpack-phantomjs.git

最后,您希望将PhantomJS添加到路径中

heroku config:set PATH=$PATH:vendor/phantomjs/bin

我希望这能有所帮助。


2
我必须将http更改为https,否则在第一次尝试推送时会挂起。 - Andrew B.
1
嗨,通过<prev PATH> - 你指的是哪里?node_modules/phantom吗? - Setrino
1
我的意思是像$PATH这样,我应该编辑答案吗?那会不会让人感到困惑? - trigoman
它可以工作,但需要在.buildpacks文件的内容中修复协议从http到https。 - J.J. Kim
多个 Buildpack 现已弃用。 - Kevin Curry

4

Heroku工具包现在已经全面支持多个构建包,因此您可以通过以下方式获得有效的Node和PhantomJS设置:

heroku buildpacks:set https://github.com/heroku/heroku-buildpack-nodejs.git

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


4

链接的构建包只有PhantomJS,没有nodejs。关于你的第二个答案:你是说我可以使用普通的node.js构建包,并将phantomjs放置在我的应用程序的“vendor”目录中,以这种方式使用它吗?(我现在无法自行测试) - Jordan Feldstein

1

1

0

我已经fork了@stomita的buildpack,使用来自phantomJS.org的官方Linux版本二进制文件。我测试过了,在Heroku上可以工作。

希望像我这样对安全比较敏感的人们能够发现它有用。

https://github.com/beedesk/heroku-buildpack-phantomjs

我的包的缺点是,与stomita的不同,它不包括fontconfigfreetype。但是,PhantomJS应该可以在没有它们的情况下工作。

@stomita很好心地查看了我的拉取请求并将其合并了。因此,您可以拥有依赖于官方构建的phantomJS构建包。 - Thomas - BeeDesk

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