이전에 NodeJitsu에 배포 된 Heroku에 node.js 응용 프로그램을 배포하려고합니다.Heroku Push가 거부 됨 "Node.js 응용 프로그램을 컴파일하지 못했습니다"
git push heroku master
명령을 실행, 나는 오류 메시지가 여기에 Push rejected, failed to compile Node.js app
입니다 받고 있어요 로그 :
Initializing repository, done.
-----> Node.js app detected
-----> Requested node range: 0.10.x
-----> Resolved node version: 0.10.31
-----> Downloading and installing node
-----> Found existing node_modules directory; skipping cache
-----> Rebuilding any native dependencies
npm ERR! Error: ENOENT, chmod '/tmp/build_de4aabc3-909b-4768-95ab-9171c88de0cd/node_modules/jade/node_modules/mkdirp/bin/cmd.js'
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR! <http://github.com/npm/npm/issues>
npm ERR! System Linux 3.8.11-ec2
npm ERR! command "/tmp/build_de4aabc3-909b-4768-95ab-9171c88de0cd/vendor/node/bin/node" "/tmp/build_de4aabc3-909b-4768-95ab-9171c88de0cd/vendor/node/bin/npm" "rebuild"
npm ERR! cwd /tmp/build_de4aabc3-909b-4768-95ab-9171c88de0cd
npm ERR! node -v v0.10.31
npm ERR! npm -v 1.4.23
npm ERR! path /tmp/build_de4aabc3-909b-4768-95ab-9171c88de0cd/node_modules/jade/node_modules/mkdirp/bin/cmd.js
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /tmp/build_de4aabc3-909b-4768-95ab-9171c88de0cd/npm-debug.log
npm ERR! not ok code 0
0 info it worked if it ends with ok
1 verbose cli [ '/tmp/build_de4aabc3-909b-4768-95ab-9171c88de0cd/vendor/node/bin/node',
1 verbose cli '/tmp/build_de4aabc3-909b-4768-95ab-9171c88de0cd/vendor/node/bin/npm',
1 verbose cli 'rebuild' ]
2 info using [email protected]
3 info using [email protected]
4 info readInstalled object
5 verbose rebuild path, id [ '/tmp/build_de4aabc3-909b-4768-95ab-9171c88de0cd',
5 verbose rebuild '[email protected]' ]
6 verbose rebuild path, id [ '/tmp/build_de4aabc3-909b-4768-95ab-9171c88de0cd/node_modules/async',
6 verbose rebuild '[email protected]' ]
7 verbose rebuild path, id [ '/tmp/build_de4aabc3-909b-4768-95ab-9171c88de0cd/node_modules/cheerio',
7 verbose rebuild '[email protected]' ]
8 verbose rebuild path, id [ '/tmp/build_de4aabc3-909b-4768-95ab-9171c88de0cd/node_modules/cheerio/node_modules/CSSselect',
8 verbose rebuild '[email protected]' ]
9 verbose rebuild path, id [ '/tmp/build_de4aabc3-909b-4768-95ab-9171c88de0cd/node_modules/cheerio/node_modules/CSSselect/node_modules/CSSwhat',
9 verbose rebuild '[email protected]' ]
10 verbose rebuild path, id [ '/tmp/build_de4aabc3-909b-4768-95ab-9171c88de0cd/node_modules/cheerio/node_modules/CSSselect/node_modules/domutils',
.... REMOVED LINES FOR BREVITY
722 error code ENOENT
723 error errno 34
724 verbose exit [ 34, true ]
! Push rejected, failed to compile Node.js app
To [email protected]:secure-retreat-3991.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to '[email protected]:secure-retreat-3991.git'
package.json 파일
{
"name": "turbolister",
"version": "0.1.0",
"main": "index.js",
"scripts": {
"start": "node index.js"
},
"dependencies": {
"async": "0.9.x",
"aws-lib": "0.3.x",
"bcrypt-nodejs": "0.0.x",
"cheerio": "0.17.x",
"connect-flash": "0.1.x",
"connect-redis": "1.4.7",
"csv-stringify": "0.0.x",
"curlrequest": "^0.5.0",
"express": "3.4.x",
"express-session": "1.6.x",
"jade": "1.4.x",
"lodash": "^2.4.1",
"mongoose": "3.8.x",
"passport": "0.2.x",
"passport-local": "1.0.x",
"request": "2.37.x",
"request-replay": "latest",
"socket.io": "^1.0.6"
},
"bundleDependencies": [
"passport.socketio"
],
"engines": {
"node": "0.10.x"
}
}
.gitignore 파일
node_modules
!node_modules/passport.socketio
주목해야 할 또 다른 중요한 점은, 내가 passport.socketio 모듈이 내 node_modules 폴더 내에이 하나가 아니라 NPM 레지스트리에서 다운로드 한 있는지 확인하려는 것입니다.
NodeJitsu에서는 package.json 파일에서 bundleDependencies json을 사용하여이 작업을 수행했지만 Heroku와는 어떻게 작동하는지 확신 할 수 없습니다.