Heroku에서 node.js에 대한 기본 시작 지침을 따르십시오.
https://devcenter.heroku.com/categories/nodejs
이 명령어는 .gitignore node_modules를 생성하도록 지시하지 않으므로 node_modules를 git에 체크인해야 함을 의미합니다. git에 node_modules를 포함 시키면 시작하는 응용 프로그램이 올바르게 실행되었습니다.
더 고급 예를 따르면 :
https://devcenter.heroku.com/articles/realtime-polyglot-app-node-ruby-mongodb-socketio https://github.com/mongolab/tractorpush-server (소스)
gitgitore에 node_modules를 추가하도록 지시했습니다. 그래서 git에서 node_modules를 제거하고 .gitignore에 추가 한 다음 다시 배포했습니다. 이번에는 배포가 실패했습니다.
-----> Heroku receiving push
-----> Node.js app detected
-----> Resolving engine versions
Using Node.js version: 0.8.2
Using npm version: 1.0.106
-----> Fetching Node.js binaries
-----> Vendoring node into slug
-----> Installing dependencies with npm
Error: npm doesn't work with node v0.8.2
Required: node@0.4 || 0.5 || 0.6
at /tmp/node-npm-5iGk/bin/npm-cli.js:57:23
at Object.<anonymous> (/tmp/node-npm-5iGk/bin/npm-cli.js:77:3)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object.<anonymous> (/tmp/node-npm-5iGk/cli.js:2:1)
at Module._compile (module.js:449:26)
Error: npm doesn't work with node v0.8.2
Required: node@0.4 || 0.5 || 0.6
at /tmp/node-npm-5iGk/bin/npm-cli.js:57:23
at Object.<anonymous> (/tmp/node-npm-5iGk/bin/npm-cli.js:77:3)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object.<anonymous> (/tmp/node-npm-5iGk/cli.js:2:1)
at Module._compile (module.js:449:26)
Dependencies installed
-----> Discovering process types
Procfile declares types -> mongod, redis, web
-----> Compiled slug size is 5.0MB
-----> Launching... done, v9
"heroku ps"를 실행하면 충돌이 확인됩니다. 문제 없습니다. 변경 사항을 롤백하고 node_module을 git 저장소에 다시 추가하고 .gitignore에서 제거했습니다. 그러나 되 돌린 후에도 배포시 여전히 동일한 오류 메시지가 표시되지만 이제 응용 프로그램이 다시 올바르게 실행 중입니다. "heroku ps"를 실행하면 응용 프로그램이 실행되고 있음을 알 수 있습니다.
그래서 내 질문은 이것을하는 올바른 방법은 무엇입니까? node_modules 포함 여부 롤백 할 때 왜 여전히 오류 메시지가 표시됩니까? 내 생각에 git 저장소가 Heroku 쪽의 상태가 좋지 않습니까?
node_modules
. Heroku 앱에 체크인하지 마십시오 .