将应用程序部署到Heroku时出错

时间:2016-01-06 10:52:07

标签: git heroku

使用git hub将我的应用部署到heroku时出现了一些错误。问题是,我不了解heroku日志和引起的错误。这是heroku日志:

Marcuss-MacBook-Pro:Weather-App marcushurney$ heroku logs
2016-01-05T14:37:27.798077+00:00 app[web.1]: npm ERR! Please include the following file with any support request:
2016-01-05T14:37:27.798377+00:00 app[web.1]: npm ERR!     /app/npm-debug.log
2016-01-05T14:37:27.786949+00:00 app[web.1]: npm ERR! node v5.1.1
2016-01-05T14:37:27.786556+00:00 app[web.1]: npm ERR! argv "/app/.heroku/node/bin/node" "/app/.heroku/node/bin/npm" "start"
2016-01-05T14:37:27.787856+00:00 app[web.1]: npm ERR! npm  v3.3.12
2016-01-05T14:37:28.776245+00:00 heroku[web.1]: Process exited with status 1
2016-01-05T14:37:28.789412+00:00 heroku[web.1]: State changed from starting to crashed
2016-01-05T17:27:16.684869+00:00 heroku[web.1]: State changed from crashed to starting
2016-01-05T17:27:17.853743+00:00 heroku[web.1]: Starting process with command `npm start`
2016-01-05T17:27:20.423495+00:00 app[web.1]: npm ERR! node v5.1.1
2016-01-05T17:27:20.423130+00:00 app[web.1]: npm ERR! argv "/app/.heroku/node/bin/node" "/app/.heroku/node/bin/npm" "start"
2016-01-05T17:27:20.424111+00:00 app[web.1]: npm ERR! npm  v3.3.12
2016-01-05T17:27:20.425937+00:00 app[web.1]: npm ERR! missing script: start
2016-01-05T17:27:20.422441+00:00 app[web.1]: npm ERR! Linux 3.13.0-71-generic
2016-01-05T17:27:20.426242+00:00 app[web.1]: npm ERR! 
2016-01-05T17:27:20.426432+00:00 app[web.1]: npm ERR! If you need help, you may report this error at:
2016-01-05T17:27:20.426634+00:00 app[web.1]: npm ERR!     <https://github.com/npm/npm/issues>

6 个答案:

答案 0 :(得分:44)

您必须通知heroku从哪里开始:missing script: start。在你的package.json中,你应该有类似this的东西:

"scripts": {
  "start": "node index.js"
}

index.js是您的切入点。

作为alternative,您可以在Procfile中指定:

web: node index.js

答案 1 :(得分:1)

就我而言,changing这个:

"scripts": {
     "test": "echo \"Error: no test specified\" && exit 1"
    },

到此:

"scripts": {
   "start": "node app.js"
    },

是解决方案

答案 2 :(得分:0)

我也面临类似样的错误为我的节点的js应用程序而发布到heroku.com

首先创建一个procfile,procfile是一个简单的文本文件,但没有任何扩展名。

放置在procfile截至目前只有一行。

web: npm start

现在使用命令

创建package.json文件
npm init

一旦你的package.json文件得到创建请将起始属性里面的脚本。

"scripts": {
    "start": "node app.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },

现在提交所有(procfile / package.json)待处理文件。和从Heroku的重新部署应用程序。

答案 3 :(得分:0)

我的愚蠢错误是,当我的更改在另一个分支中时,我将master分支推到了Heroku!

确保首先将最新分支与主分支合并

> git checkout master

> git merge your-latest-branch

> git push heroku master

答案 4 :(得分:0)

由于某种原因,将启动脚本推到最上方即可解决问题

所以不是

"scripts": {
    "test": "jest",
    "start": "node app.js"
}

我做到了

"scripts": {
    "start": "node app.js",
    "test": "jest"

}

答案 5 :(得分:0)

经过多次故障排除后,我在尝试使用 heroku 部署我的服务器时遇到了同样的问题。我对 package.json 所做的更改包括在脚本中创建一个 start 属性;

            "scripts": {
             "test": "echo \"Error: no test specified\" && exit 1",
              "start": "node app.js"

},

进行更改后,确保您的没有扩展名的 Procfile 有这一行;

     web: node app.js (Depends on your server file).

然后您可以继续提交文件。

希望这会有所帮助