2014-01-06 111 views
4

我的應用程序在本地工作,但是當我部署到Heroku時,出現了問題。這是我的錯誤,看來這個錯誤是由於我添加EJS後我沒有做的事情造成的。在Heroku上找不到模塊'ejs' - Node.js應用程序

2014-01-06T16:53:39.285571+00:00 app[web.1]: module.js:340 
2014-01-06T16:53:39.285956+00:00 app[web.1]:  throw err; 
2014-01-06T16:53:39.286233+00:00 app[web.1]:   ^
2014-01-06T16:53:39.288439+00:00 app[web.1]: Error: Cannot find module 'ejs' 
2014-01-06T16:53:39.288439+00:00 app[web.1]:  at Function.Module._resolveFilename (module.js:338:15) 
2014-01-06T16:53:39.288439+00:00 app[web.1]:  at Function.Module._load (module.js:280:25) 
2014-01-06T16:53:39.288439+00:00 app[web.1]:  at require (module.js:380:17) 
2014-01-06T16:53:39.288439+00:00 app[web.1]:  at Object.<anonymous> (/app/app.js:28:20) 
2014-01-06T16:53:39.288439+00:00 app[web.1]:  at Module._compile (module.js:456:26) 
2014-01-06T16:53:39.288439+00:00 app[web.1]:  at Module.require (module.js:364:17) 
2014-01-06T16:53:39.288439+00:00 app[web.1]:  at Object.Module._extensions..js (module.js:474:10) 
2014-01-06T16:53:39.288439+00:00 app[web.1]:  at Module.load (module.js:356:32) 
2014-01-06T16:53:39.288439+00:00 app[web.1]:  at Function.Module._load (module.js:312:12) 
2014-01-06T16:53:39.288617+00:00 app[web.1]:  at Function.Module.runMain (module.js:497:10) 
2014-01-06T16:53:40.650512+00:00 heroku[web.1]: State changed from starting to crashed 
2014-01-06T16:53:40.637888+00:00 heroku[web.1]: Process exited with status 8 
2014-01-06T16:53:40.651134+00:00 heroku[web.1]: State changed from crashed to starting 
2014-01-06T16:53:42.536106+00:00 heroku[web.1]: Starting process with command `node app.js` 
2014-01-06T16:53:43.447621+00:00 app[web.1]: 
2014-01-06T16:53:43.449816+00:00 app[web.1]: Error: Cannot find module 'ejs' 
2014-01-06T16:53:43.447621+00:00 app[web.1]: module.js:340 
2014-01-06T16:53:43.447926+00:00 app[web.1]:  throw err; 
2014-01-06T16:53:43.447926+00:00 app[web.1]:   ^
2014-01-06T16:53:43.449816+00:00 app[web.1]:  at Function.Module._resolveFilename (module.js:338:15) 
2014-01-06T16:53:43.449816+00:00 app[web.1]:  at Function.Module._load (module.js:280:25) 
2014-01-06T16:53:43.449816+00:00 app[web.1]:  at Module.require (module.js:364:17) 
2014-01-06T16:53:43.449816+00:00 app[web.1]:  at Module._compile (module.js:456:26) 
2014-01-06T16:53:43.449816+00:00 app[web.1]:  at Object.Module._extensions..js (module.js:474:10) 
2014-01-06T16:53:43.449816+00:00 app[web.1]:  at Module.load (module.js:356:32) 
2014-01-06T16:53:43.449816+00:00 app[web.1]:  at Function.Module._load (module.js:312:12) 
2014-01-06T16:53:43.449990+00:00 app[web.1]:  at Function.Module.runMain (module.js:497:10) 
2014-01-06T16:53:43.449816+00:00 app[web.1]:  at require (module.js:380:17) 
2014-01-06T16:53:43.449816+00:00 app[web.1]:  at Object.<anonymous> (/app/app.js:28:20) 
2014-01-06T16:53:44.712427+00:00 heroku[web.1]: State changed from starting to crashed 
2014-01-06T16:53:44.700963+00:00 heroku[web.1]: Process exited with status 8 
2014-01-06T16:54:13.976150+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=bruxzir-express.herokuapp.com fwd="98.173.1.66" dyno= connect= service= status=503 bytes= 
2014-01-06T16:54:29.109297+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ host=bruxzir-express.herokuapp.com fwd="98.173.1.66" dyno= connect= service= status=503 bytes= 
2014-01-06T16:54:29.243506+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/favicon.ico host=bruxzir-express.herokuapp.com fwd="98.173.1.66" dyno= connect= service= status=503 bytes= 

閱讀this question on SO後我還需要增加在package.json這種依賴性。而對於ejs的版本,我運行了npm list並得到了這個,看起來可能會有更多的錯誤需要解決。

[email protected] /Users/juan.gallardo/Desktop/myfiles/test-projects/bruxzir-express-test 
├── [email protected] extraneous 
├─┬ [email protected] 
│ ├── [email protected] 
│ ├─┬ [email protected] 
│ │ └── [email protected] 
│ ├─┬ [email protected] 
│ │ ├── [email protected] 
│ │ ├── [email protected] 
│ │ ├─┬ [email protected] 
│ │ │ ├─┬ [email protected] 
│ │ │ │ ├── [email protected] 
│ │ │ │ └── [email protected] 
│ │ │ └── [email protected] 
│ │ ├── [email protected] 
│ │ ├── [email protected] 
│ │ ├── [email protected] 
│ │ ├── [email protected] 
│ │ └── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ └─┬ [email protected] 
│ └── [email protected] 
├─┬ [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├─┬ [email protected] 
│ │ └─┬ [email protected] 
│ │ ├── [email protected] 
│ │ ├─┬ [email protected] 
│ │ │ └── [email protected] 
│ │ ├─┬ [email protected] 
│ │ │ └── [email protected] 
│ │ └── [email protected] 
│ ├── [email protected] 
│ ├─┬ [email protected] 
│ │ └─┬ [email protected] 
│ │ └─┬ [email protected] 
│ │  ├── [email protected] 
│ │  └── [email protected] 
│ ├─┬ [email protected] 
│ │ ├─┬ [email protected] 
│ │ │ ├── [email protected] 
│ │ │ └── [email protected] 
│ │ ├─┬ [email protected] 
│ │ │ └── [email protected] 
│ │ └─┬ [email protected] 
│ │ ├─┬ [email protected] 
│ │ │ └── [email protected] 
│ │ └─┬ [email protected] 
│ │  └── [email protected] 
│ └─┬ [email protected] 
│ └─┬ [email protected] 
│  ├── [email protected] 
│  ├─┬ [email protected] 
│  │ └── [email protected] 
│  ├─┬ [email protected] 
│  │ └── [email protected] 
│  └── [email protected] 
├── [email protected] extraneous 
└─┬ [email protected] 
    ├── [email protected] 
    ├── [email protected] 
    ├── [email protected] 
    └── [email protected] 

npm ERR! extraneous: [email protected] /Users/juan.gallardo/Desktop/myfiles/test-projects/bruxzir-express-test/node_modules/ejs 
npm ERR! extraneous: [email protected] /Users/juan.gallardo/Desktop/myfiles/test-projects/bruxzir-express-test/node_modules/simple-recaptcha 
npm ERR! not ok code 0 

回答

5

我剛剛上市EJS及其版本到我package.json解決了這個。

"ejs": "0.8.5"  

如果你不知道你有EJS的版本,我發現我的方法是運行npm list

這是我現在的整個文件,如果你好奇它是如何適合在Heroku上部署的。

{ 
    "name": "application-name", 
    "version": "0.0.1", 
    "private": true, 
    "scripts": { 
    "start": "node app.js" 
    }, 
    "dependencies": { 
    "express": "3.4.4", 
    "jade": "*", 
    "stylus": "*", 
    "ejs": "0.8.5" 
    }, 
    "engines": { 
    "node": "0.10.1", 
    "npm": "1.3.14" 
    } 
} 
相關問題