示例node.js应用程序未在heroku上运行

时间:2013-11-13 05:54:40

标签: node.js heroku redis

我之前从未使用过Node.js,但我只是想在Heroku上运行一个示例应用程序。我正在运行的应用是

https://github.com/heroku-examples/geosockets

我可能错了,因为我不熟悉node.js,但我认为Procfile可能不正确:

web: coffee index.coffee
redis-dev: redis-server
grunt-dev: grunt watch

当我尝试在我的终端上运行 redis-server grunt watch时,他们它不起作用。我也尝试过运行foreman start

我的问题是我需要做些什么才能让这个应用程序在本地运行?如何运行 redis服务器和 grunt进程?


编辑 - 通过Ubuntu软件包管理器安装redis之后,我现在可以从命令行运行redis-server 本地。但是,当我尝试启动redis worker dyno时,在Heroku上它会在日志中说明这一点。

2013-11-13T06:55:53.219721+00:00 heroku[redisdev.1]: Starting process with command `redis-server`
2013-11-13T06:55:53.777822+00:00 app[redisdev.1]: bash: redis-server: command not found
2013-11-13T06:55:54.830721+00:00 heroku[redisdev.1]: Process exited with status 127
2013-11-13T06:55:54.843111+00:00 heroku[redisdev.1]: State changed from starting to crashed

同样,当我尝试在Heroku上创建一个咕噜咕噜的工作者时,我在日志中收到类似的消息

2013-11-13T07:24:03.612764+00:00 heroku[gruntdev.1]: Starting process with command `grunt watch`
2013-11-13T07:24:04.215564+00:00 app[gruntdev.1]: bash: grunt: command not found
2013-11-13T07:24:05.416066+00:00 heroku[gruntdev.1]: Process exited with status 127
2013-11-13T07:24:05.427289+00:00 heroku[gruntdev.1]: State changed from starting to crashed

如何配置我的应用程序以在Heroku上运行这些?

1 个答案:

答案 0 :(得分:0)

好的,经过进一步调查,我现在可以在 本地 中运行它。我假设npm install命令设置了我需要的所有东西但事实并非如此。

首先,我通过ubuntu软件包管理器安装了redis-server

sudo apt-get install redis-server

然后我发现我需要安装Grunt command line interface

sudo npm install -g grunt-cli

但是,我仍然无法在Heroku上运行这些