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

我以为用phantomjscasperjs (例如: heroku-buildpack-casperjs )安装buildpack会保留我的应用程序的节点function,但似乎不是这样。

为了使它工作(node + phantomjs + casperjs)我宁愿分叉heroku-buildpack-nodejs构build包,并添加phantomjs / casperjs二进制文件,我可以称之为: heroku-buildpack- nodejs -casperjs 。

换句话说,使用自定义buildpack时,必须自己包含节点支持。