exec和PATH上的heroku与buildpack
我使用这个buildpack为了在heroku上使用casperjs 。
一旦我的应用程序创build,我检查我的PATH
$ heroku config:get PATH /usr/local/bin:/usr/bin:/bin:/app/vendor/phantomjs/bin:/app/vendor/casperjs/bin
好的,casperjs在这里!
–
Procfile
scraper: node scraper.js
scraper.js
var exec = require('child_process').exec; exec('casperjs casper-script.js');
–
但是,当我启动scraper进程时,它崩溃与以下日志:
2012-10-09T02:23:38+00:00 heroku[scraper.1]: Starting process with command `node scraper.js` 2012-10-09T02:23:39+00:00 app[scraper.1]: bash: node: command not found
为什么exec
没有findPATH
中的casperjs
?
PS:我尝试过spawn
但没有更多的运气…
[编辑]:一个可testing的要点https://gist.github.com/3856317
得到它了!
@vinayr: 你说的对 ,这个问题既没有exec
也没有casperjs
命令,只是command not found
node
!
我以为用phantomjs
和casperjs
(例如: heroku-buildpack-casperjs )安装buildpack会保留我的应用程序的节点function,但似乎不是这样。
为了使它工作(node + phantomjs + casperjs)我宁愿分叉heroku-buildpack-nodejs构build包,并添加phantomjs
/ casperjs
二进制文件,我可以称之为: heroku-buildpack- nodejs -casperjs 。
换句话说,使用自定义buildpack时,必须自己包含节点支持。