将Heroku用于Node Web应用程序

时间:2016-03-05 15:55:15

标签: node.js heroku web-applications

我正在尝试在Heroku上设置一个项目。我浏览了他们的tutorial for Node apps,现在我正在尝试使用我的存储库来处理我的网络应用。我已经创建了这个项目,它显示在我的Heroku仪表板上,但是我无法推送它。这是我每次都得到的信息:

remote: Compressing source files... done.
remote: Building source:
remote: 
remote: -----> Using set buildpack heroku/nodejs
remote: 
remote:  !     Push rejected, failed to detect set buildpack heroku/nodejs
remote: More info: https://devcenter.heroku.com/articles/buildpacks#detection-failure
remote: 
remote: Verifying deploy...
remote: 
remote: !   Push rejected to your_web_app.

我确保buildpack设置为nodejs。我使用了来自Heroku的信息以及Heroku wrongly detecting my Node app as a Ruby app,但我仍然无法部署。

我也已经进入了package.json文件,并在我的节点版本中添加了"引擎"部分。为什么我不能部署到Heroku?

编辑:这是我的package.json文件:

{
  "name": "node",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www"
  },
  "dependencies": {
    "body-parser": "~1.13.2",
    "cookie-parser": "~1.3.5",
    "debug": "~2.2.0",
    "express": "~4.13.1",
    "jade": "~1.11.0",
    "morgan": "~1.6.1",
    "serve-favicon": "~2.3.0"
  },
  "engines": {
    "node": "5.7.0"
  }
}

1 个答案:

答案 0 :(得分:1)

确保以下事项:

1- app在根目录中有一个package.json文件。

2- app将节点版本定义在package.json中:

"engines": {
    "node": "4.1.1"
  },

修改: buildpacks修复

heroku buildpacks:clear //清除buildpack

heroku buildpacks:set heroku/nodejs //为node.js app设置正确的构建包

heroku buildpacks:set https://github.com/heroku/heroku-buildpack-nodejs -a your-app-name