1
我似乎無法弄清楚爲什麼這個工程在當地很好,但是當我把它推到Heroku它會失敗,並出現以下錯誤。從Heroku的錯誤:找不到模塊'./proto'在Heroku
錯誤
Starting process with command `node web.js`
module.js:337
throw new Error("Cannot find module '" + request + "'");
^
Error: Cannot find module './proto'
at Function._resolveFilename (module.js:337:11)
at Function._load (module.js:279:25)
at Module.require (module.js:359:17)
at require (module.js:375:17)
at Object.<anonymous> (/app/node_modules/express/node_modules/connect/lib/connect.js:14:13)
at Module._compile (module.js:446:26)
at Object..js (module.js:464:10)
at Module.load (module.js:353:31)
at Function._load (module.js:311:12)
at Module.require (module.js:359:17)
Process exited with status 1
State changed from starting to crashed
的package.json
{
"name": "divtest",
"version": "0.0.2",
"dependencies": {
"underscore": "1.3.x",
"crypto": "0.0.x",
"knox": "0.3.x",
"mongoose": "~3.1.2",
"mime": "1.2.x",
"express": "3.0.x",
"request": "~2.9.203"
},
"engines": {
"node": "0.6.x",
"npm": "1.0.x"
}
}
./proto
是connect
呼籲
本地模塊我吹走我的./node_modules
文件夾,做了一個npm install --save
並仍然得到相同的結果。
你有沒有想過這個想法?我無法找到一種方法來確定Heroku支持每個軟件包的版本。 – electrichead
解決方法是從'.gitignore'中刪除'node_modules'並將我的node_modules文件夾推送到Heroku。這解決了這個問題,編譯也快得多。 –
我甚至不知道可以這樣做。我必須將完整的版本號硬編碼到package.json中才能運行,但這看起來像是一個更好的解決方案。 – electrichead