2

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"
    }
 }
Aravind
  • 3,169
  • 3
  • 23
  • 37

1 Answers1

3

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

Aravind
  • 3,169
  • 3
  • 23
  • 37
  • But I thought you're not supposed to check node_modules into git? NPM should install the dependencies when you run "npm install" ?? – conor909 Sep 25 '15 at 10:48
  • 1
    @conor909: Yes, I should hope that node modules needn't be pushed to heroku too, but if you see the steps here https://devcenter.heroku.com/articles/getting-started-with-nodejs#push-local-changes that's exactly what it says to do. Maybe someone can clarify if the node modules need to be pushed to git and heroku. – Aravind Sep 26 '15 at 17:30