heroku push rejected failed to compile node.js app

2019-07-29 21:00发布

问题:

I get the following error message on pushing to heroku:

Counting objects: 21, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (19/19), done.
Writing objects: 100% (21/21), 3.44 KiB, done.
Total 21 (delta 5), reused 0 (delta 0)

-----> Node.js app detected
-----> Resolving engine versions

   WARNING: No version of Node.js specified in package.json, see:
   https://devcenter.heroku.com/articles/nodejs-versions

   Using Node.js version: 0.10.5
   Using npm version: 1.2.18
-----> Fetching Node.js binaries
-----> Vendoring node into slug
-----> Installing dependencies with npm
   npm ERR! install Couldn't read dependencies
   npm ERR! Failed to parse json
   npm ERR! Unexpected token }
   npm ERR! File: /tmp/build_1nxuppeok7fl7/package.json
   npm ERR! Failed to parse package.json data.
   npm ERR! package.json must be actual JSON, not just JavaScript.
   npm ERR! 
   npm ERR! This is not a bug in npm.
   npm ERR! Tell the package author to fix their package.json file. JSON.parse

   npm ERR! System Linux 2.6.32-350-ec2
   npm ERR! command "/tmp/node-node-8tU8/bin/node" "/tmp/node-npm-iUEr/cli.js" "install" "--production"
   npm ERR! cwd /tmp/build_1nxuppeok7fl7
   npm ERR! node -v v0.10.5
   npm ERR! npm -v 1.2.18
   npm ERR! file /tmp/build_1nxuppeok7fl7/package.json
   npm ERR! code EJSONPARSE
   npm ERR! 
   npm ERR! Additional logging details can be found in:
   npm ERR!     /tmp/build_1nxuppeok7fl7/npm-debug.log
   npm ERR! not ok code 0
   !     Failed to install --production dependencies with npm
   0 info it worked if it ends with ok
   1 verbose cli [ '/tmp/node-node-8tU8/bin/node',
   1 verbose cli   '/tmp/node-npm-iUEr/cli.js',
   1 verbose cli   'install',
   1 verbose cli   '--production' ]
   2 info using npm@1.2.18
   3 info using node@v0.10.5
   4 verbose read json /tmp/build_1nxuppeok7fl7/package.json
   5 error install Couldn't read dependencies
   6 error Failed to parse json
   6 error Unexpected token }
   7 error File: /tmp/build_1nxuppeok7fl7/package.json
   8 error Failed to parse package.json data.
   8 error package.json must be actual JSON, not just JavaScript.
   8 error
   8 error This is not a bug in npm.
   8 error Tell the package author to fix their package.json file. JSON.parse
   9 error System Linux 2.6.32-350-ec2
   10 error command "/tmp/node-node-8tU8/bin/node" "/tmp/node-npm-iUEr/cli.js"          "install" "--production"
   11 error cwd /tmp/build_1nxuppeok7fl7
   12 error node -v v0.10.5
   13 error npm -v 1.2.18
   14 error file /tmp/build_1nxuppeok7fl7/package.json
   15 error code EJSONPARSE
   16 verbose exit [ 1, true ]
   !     Heroku push rejected, failed to compile Node.js app

  To git@heroku.com:hidden-hamlet-7335.git
  ! [remote rejected] master -> master (pre-receive hook declined)
  error: failed to push some refs to 'git@heroku.com:hidden-hamlet-7335.git'

And here's my package.json(In case you want to know I have installed dependencies locally and package.json works)

  {
    "name": "Simple-chat-application",
    "version": "0.0.1",
    "private": true,
    "scripts": {
      "start": "node app"
    },
    "dependencies": {
      "express": "3.1.0",
      "jade": "0.28.1",
      "socket.io": "0.9.13"
    },
    "engines": {
      "node": "0.10.x",
      "npm": "1.2.x"
    }
 }

回答1:

The problem was with git add.I had forgotten to add the node_modules files.I closed the terminal and ran the set of commands given in the Getting started with Heroku and NodeJs[1] again.The application was successfully pushed onto the stack.

[1]-https://devcenter.heroku.com/articles/nodejs