Нажатие heroku отклонено, не удалось скомпилировать приложение node.js

Я получаю следующее сообщение об ошибке при нажатии на 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 [email protected]
   3 info using [email protected]
   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 [email protected]:hidden-hamlet-7335.git
  ! [remote rejected] master -> master (pre-receive hook declined)
  error: failed to push some refs to '[email protected]:hidden-hamlet-7335.git'

И вот мой package.json (если вы хотите знать, что я установил зависимости локально и package.json работает)

  {
    "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"
    }
 }

person Aravind    schedule 07.05.2013    source источник


Ответы (1)


Проблема была в git add. Я забыл добавить файлы node_modules. Я закрыл терминал и снова выполнил набор команд, приведенных в разделе «Начало работы с Heroku и NodeJs [1]». Приложение было успешно помещено в стек.

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

person Aravind    schedule 07.05.2013
comment
Но я думал, вы не должны проверять node_modules в git? NPM должен установить зависимости при запуске npm install ?? - person conor909; 25.09.2015
comment
@ conor909: Да, я надеюсь, что модули узлов тоже не нужно отправлять в heroku, но если вы видите шаги здесь devcenter.heroku.com/articles/ именно это и сказано. Может быть, кто-то может уточнить, нужно ли подталкивать модули узлов к git и heroku. - person Aravind; 26.09.2015