Node.js heroku上的exec和PATH以及构建包
我用是为了用在heroku上 创建应用程序后,我会检查我的Node.js heroku上的exec和PATH以及构建包,node.js,heroku,environment-variables,child-process,buildpack,Node.js,Heroku,Environment Variables,Child Process,Buildpack,我用是为了用在heroku上 创建应用程序后,我会检查我的路径 $ heroku config:get PATH /usr/local/bin:/usr/bin:/bin:/app/vendor/phantomjs/bin:/app/vendor/casperjs/bin 好的,卡斯佩斯在这里 -- 程序文件 scraper.js -- 但当我启动scraper进程时,它会与以下日志一起崩溃: 2012-10-09T02:23:38+00:00 heroku[scraper.1]: Start
路径
$ heroku config:get PATH
/usr/local/bin:/usr/bin:/bin:/app/vendor/phantomjs/bin:/app/vendor/casperjs/bin
好的,卡斯佩斯在这里
--
程序文件
scraper.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
为什么找不到路径中的
casperjs
PS:我试过了,但没有更多的运气
[编辑]:这里有一个可测试的要点明白了
@vinayr:,此问题既不涉及exec
也不涉及casperjs
命令,而是未找到命令的节点
我原以为安装带有phantomjs
和casperjs
(例如:)的buildpack会保留我的应用程序的节点功能,但事实似乎并非如此
为了让它工作(node+phantomjs+casperjs),我不得不分叉构建包并向其中添加phantomjs
/casperjs
二进制文件,我可以调用它:
换句话说,当使用自定义buildpack时,您必须包含节点支持自己。您确定是casperjs
命令失败了,而不是node
命令吗?@vinayr:看来您是对的,我只是尝试了heroku运行node
并得到bash:node:command未找到
。但是怎么可能呢:我有一个像样的包.json,所以这个应用程序应该被检测为一个节点应用程序。。。有线索吗?谢谢,或者您可以使用多包,这很好,因此您不必捆绑所有内容。
var exec = require('child_process').exec;
exec('casperjs casper-script.js');
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