运行工头来启动Node.js应用程序时出错
我正在尝试在我刚刚安装的Mint虚拟机上运行领class。 这是为了学习节点的目的。 我正在使用Heroku和他们的向导来让自己安装,但是当我尝试启动工头时,我碰到了一个路障。
错误消息是:
14:51:09 web.1 | started with pid 10739 14:51:09 web.1 | exited with code 1 14:51:09 system | sending SIGTERM to all processes SIGTERM received
任何帮助将是伟大的!
如果你正在按照一个专门用于Heroku实例的指南,那么它将跳过一些在其他框上设置的步骤。 默认情况下,heroku实例已经安装了node.js
,因此在部署和启动第一个应用程序之前,不需要在框中进行设置。
在Linux Mint上安装Node.js。 请执行下列操作:
-
安装所需的工具
sudo apt-get install g++ curl libssl-dev apache2-utils
sudo apt-get install git-core
-
克隆并制作最新版本的Node.js
git clone git://github.com/ry/node.git
cd node
./configure
make
sudo make install
-
转到您的工作目录为这个项目并运行以下:
npm install
foreman start
您的Node.js应用程序示例现在应该在您的本地VM上工作。
要获取用于testing本地设置的示例节点应用程序,请执行以下操作:
`git clone git@github.com:heroku/node-js-sample.git # or clone your own fork` `cd node-js-sample` `npm install` `foreman start`
浏览到http://localhost:5000
以查看示例应用程序。
我知道这已经有一段时间了,但是因为上面的答案都没有为我工作,所以我想我会发布我所做的让Heroku领class与Express 4一起工作(花了我很多时间来弄清楚!)
在你的app.js(或者你的input文件是):
添加这行app.use(express.static(path.join ….
app.set('port', (process.env.PORT || 5000));
将以下行添加到文件的末尾:
app.listen(app.get('port'), function() { console.log("Node app is running at localhost:" + app.get('port')) });
如果您使用的是快递生成器,请删除此行:
module.exports = app;