Node.js表示堆栈应用程序在本地工作,但可以';不要部署到Heroku
我的平均应用程序是有组织的:Node.js表示堆栈应用程序在本地工作,但可以';不要部署到Heroku,node.js,heroku,web-deployment,mean-stack,Node.js,Heroku,Web Deployment,Mean Stack,我的平均应用程序是有组织的: MyApp >client >app >node_modules >public >views >bower.json >Gruntfile.js >package.json >server >config >models >node_modules >routes >app.js
MyApp
>client
>app
>node_modules
>public
>views
>bower.json
>Gruntfile.js
>package.json
>server
>config
>models
>node_modules
>routes
>app.js
>package.json
在本地为app.js提供服务时,一切正常。但是,我还未能成功部署到Heroku。我对package.json有些困惑,并怀疑这可能是我问题的根源。我有两个package.json文件。。。客户端中的一个如下所示:
{
"name": "******",
"version": "1.0.0",
"description": "******",
"main": "Gruntfile.js",
"directories": {
"test": "tests"
},
"dependencies": {
"grunt": "^0.4.5"
},
"devDependencies": {
"grunt-contrib-concat": "^0.5.1",
"grunt-contrib-watch": "^0.6.1"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
}
}
并且,在>服务器中有一个package.json:
{
"name": "**********",
"version": "1.0.0",
"description": "*********",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "*******",
"license": "ISC",
"dependencies": {
"bcrypt": "^0.8.5",
"body-parser": "^1.13.2",
"connect-flash": "^0.1.1",
"cookie-parser": "^1.3.5",
"ejs": "^2.3.3",
"express": "^4.13.1",
"express-session": "^1.11.3",
"mongoose": "^4.1.0",
"mongoskin": "^1.3.20",
"morgan": "^1.6.1",
"passport": "^0.2.2",
"passport-local": "^1.0.0"
}
}
我已经在MyApp文件夹中初始化了heroku git并推送了它。生成成功,但打开应用程序不起作用。日志抛出许多npm错误!
我尝试在MyApp文件夹中编写一个新的package.json,但没有成功。我不确定这是否必要:
{
"name": "*******",
"version": "1.0.0",
"description": "*********",
"main": "server/app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "********",
"license": "ISC"
}
日志:
我试过用“node server/app.js”和简单的“node app.js”来“start”
日志现在:
2016-07-31T20:30:57.827511+00:00 heroku[slug-compiler]: Slug compilation started
2016-07-31T20:30:57.827516+00:00 heroku[slug-compiler]: Slug compilation finished
2016-07-31T20:30:57.825021+00:00 heroku[web.1]: State changed from crashed to starting
2016-07-31T20:30:59.273318+00:00 heroku[web.1]: Starting process with command `npm start`
2016-07-31T20:31:01.202950+00:00 app[web.1]:
2016-07-31T20:31:01.202968+00:00 app[web.1]: > *********@1.0.0 start /app
2016-07-31T20:31:01.202969+00:00 app[web.1]: > node app.js
2016-07-31T20:31:01.202970+00:00 app[web.1]:
2016-07-31T20:31:01.256865+00:00 app[web.1]: module.js:341
2016-07-31T20:31:01.256867+00:00 app[web.1]: throw err;
2016-07-31T20:31:01.256867+00:00 app[web.1]: ^
2016-07-31T20:31:01.256868+00:00 app[web.1]:
2016-07-31T20:31:01.256869+00:00 app[web.1]: Error: Cannot find module '/app/app.js'
2016-07-31T20:31:01.256869+00:00 app[web.1]: at Function.Module._resolveFilename (module.js:339:15)
2016-07-31T20:31:01.256870+00:00 app[web.1]: at Function.Module.runMain (module.js:447:10)
2016-07-31T20:31:01.256871+00:00 app[web.1]: at startup (node.js:148:18)
2016-07-31T20:31:01.256870+00:00 app[web.1]: at Function.Module._load (module.js:290:25)
2016-07-31T20:31:01.256871+00:00 app[web.1]: at node.js:405:3
2016-07-31T20:31:01.262989+00:00 app[web.1]:
2016-07-31T20:31:01.269797+00:00 app[web.1]: npm ERR! Linux 3.13.0-91-generic
2016-07-31T20:31:01.270174+00:00 app[web.1]: npm ERR! argv "/app/.heroku/node/bin/node" "/app/.heroku/node/bin/npm" "start"
2016-07-31T20:31:01.270404+00:00 app[web.1]: npm ERR! node v5.11.1
2016-07-31T20:31:01.270985+00:00 app[web.1]: npm ERR! npm v3.8.6
2016-07-31T20:31:01.271447+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2016-07-31T20:31:01.271618+00:00 app[web.1]: npm ERR! *********@1.0.0 start: `node app.js`
2016-07-31T20:31:01.271772+00:00 app[web.1]: npm ERR! Exit status 1
2016-07-31T20:31:01.271940+00:00 app[web.1]: npm ERR!
2016-07-31T20:31:01.272096+00:00 app[web.1]: npm ERR! Failed at the *********@1.0.0 start script 'node app.js'.
2016-07-31T20:31:01.272260+00:00 app[web.1]: npm ERR! Make sure you have the latest version of node.js and npm installed.
2016-07-31T20:31:01.272573+00:00 app[web.1]: npm ERR! not with npm itself.
2016-07-31T20:31:01.272417+00:00 app[web.1]: npm ERR! If you do, this is most likely a problem with the ********* package,
2016-07-31T20:31:01.272723+00:00 app[web.1]: npm ERR! Tell the author that this fails on your system:
2016-07-31T20:31:01.272885+00:00 app[web.1]: npm ERR! node app.js
2016-07-31T20:31:01.273189+00:00 app[web.1]: npm ERR! npm bugs *********
2016-07-31T20:31:01.273037+00:00 app[web.1]: npm ERR! You can get information on how to open an issue for this project with:
2016-07-31T20:31:01.273340+00:00 app[web.1]: npm ERR! Or if that isn't available, you can get their info via:
2016-07-31T20:31:01.273493+00:00 app[web.1]: npm ERR! npm owner ls *********
2016-07-31T20:31:01.277062+00:00 app[web.1]:
2016-07-31T20:31:01.277274+00:00 app[web.1]: npm ERR! Please include the following file with any support request:
2016-07-31T20:31:01.273651+00:00 app[web.1]: npm ERR! There is likely additional logging output above.
2016-07-31T20:31:01.277415+00:00 app[web.1]: npm ERR! /app/npm-debug.log
2016-07-31T20:31:01.346939+00:00 heroku[web.1]: State changed from starting to crashed
2016-07-31T20:31:01.331495+00:00 heroku[web.1]: Process exited with status 1
2016-07-31T20:31:12.076774+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=*********.herokuapp.com request_id=2a1195*********ece8bb2c fwd="172.1*********71" dyno= connect= service= status=503 bytes=
2016-07-31T20:34:47.098473+00:00 heroku[api]: Deploy 388b5ab by *********@gmail.com
2016-07-31T20:34:47.098521+00:00 heroku[api]: Release v16 created by *********@gmail.com
2016-07-31T20:34:47.266271+00:00 heroku[slug-compiler]: Slug compilation started
2016-07-31T20:34:47.266277+00:00 heroku[slug-compiler]: Slug compilation finished
2016-07-31T20:34:47.319491+00:00 heroku[web.1]: State changed from crashed to starting
2016-07-31T20:34:48.929096+00:00 heroku[web.1]: Starting process with command `npm start`
2016-07-31T20:34:50.867157+00:00 app[web.1]:
2016-07-31T20:34:50.867172+00:00 app[web.1]: > *********@1.0.0 start /app
2016-07-31T20:34:50.867172+00:00 app[web.1]: > node server/app.js
2016-07-31T20:34:50.867173+00:00 app[web.1]:
2016-07-31T20:34:51.278936+00:00 app[web.1]: /app/server/node_modules/bcrypt/node_modules/bindings/bindings.js:83
2016-07-31T20:34:51.278950+00:00 app[web.1]: throw e
2016-07-31T20:34:51.278951+00:00 app[web.1]: ^
2016-07-31T20:34:51.278953+00:00 app[web.1]: Error: /app/server/node_modules/bcrypt/build/Release/bcrypt_lib.node: invalid ELF header
2016-07-31T20:34:51.278952+00:00 app[web.1]:
2016-07-31T20:34:51.278953+00:00 app[web.1]: at Error (native)
2016-07-31T20:34:51.278955+00:00 app[web.1]: at Module.load (module.js:357:32)
2016-07-31T20:34:51.278957+00:00 app[web.1]: at require (internal/module.js:20:19)
2016-07-31T20:34:51.278954+00:00 app[web.1]: at Object.Module._extensions..node (module.js:440:18)
2016-07-31T20:34:51.278956+00:00 app[web.1]: at Function.Module._load (module.js:314:12)
2016-07-31T20:34:51.278957+00:00 app[web.1]: at Module.require (module.js:367:17)
2016-07-31T20:34:51.278959+00:00 app[web.1]: at Object.Module._extensions..js (module.js:422:10)
2016-07-31T20:34:51.278958+00:00 app[web.1]: at bindings (/app/server/node_modules/bcrypt/node_modules/bindings/bindings.js:76:44)
2016-07-31T20:34:51.278958+00:00 app[web.1]: at Object.<anonymous> (/app/server/node_modules/bcrypt/bcrypt.js:3:35)
2016-07-31T20:34:51.278959+00:00 app[web.1]: at Module._compile (module.js:413:34)
2016-07-31T20:34:51.278960+00:00 app[web.1]: at Module.load (module.js:357:32)
2016-07-31T20:34:51.278961+00:00 app[web.1]: at Module.require (module.js:367:17)
2016-07-31T20:34:51.278963+00:00 app[web.1]: at Module._compile (module.js:413:34)
2016-07-31T20:34:51.278961+00:00 app[web.1]: at Function.Module._load (module.js:314:12)
2016-07-31T20:34:51.278962+00:00 app[web.1]: at require (internal/module.js:20:19)
2016-07-31T20:34:51.278963+00:00 app[web.1]: at Object.<anonymous> (/app/server/models/user.js:3:23)
2016-07-31T20:34:51.294193+00:00 app[web.1]: npm ERR! node v5.11.1
2016-07-31T20:34:51.286768+00:00 app[web.1]:
2016-07-31T20:34:51.294540+00:00 app[web.1]: npm ERR! npm v3.8.6
2016-07-31T20:34:51.293678+00:00 app[web.1]: npm ERR! Linux 3.13.0-91-generic
2016-07-31T20:34:51.293977+00:00 app[web.1]: npm ERR! argv "/app/.heroku/node/bin/node" "/app/.heroku/node/bin/npm" "start"
2016-07-31T20:34:51.295092+00:00 app[web.1]: npm ERR! *********@1.0.0 start: `node server/app.js`
2016-07-31T20:34:51.294922+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2016-07-31T20:34:51.295255+00:00 app[web.1]: npm ERR! Exit status 1
2016-07-31T20:34:51.295593+00:00 app[web.1]: npm ERR! Failed at the *********@1.0.0 start script 'node server/app.js'.
2016-07-31T20:34:51.295436+00:00 app[web.1]: npm ERR!
2016-07-31T20:34:51.295738+00:00 app[web.1]: npm ERR! Make sure you have the latest version of node.js and npm installed.
2016-07-31T20:34:51.295847+00:00 app[web.1]: npm ERR! If you do, this is most likely a problem with the ********* package,
2016-07-31T20:34:51.296198+00:00 app[web.1]: npm ERR! node server/app.js
2016-07-31T20:34:51.296081+00:00 app[web.1]: npm ERR! Tell the author that this fails on your system:
2016-07-31T20:34:51.295954+00:00 app[web.1]: npm ERR! not with npm itself.
2016-07-31T20:34:51.296412+00:00 app[web.1]: npm ERR! npm bugs *********
2016-07-31T20:34:51.296304+00:00 app[web.1]: npm ERR! You can get information on how to open an issue for this project with:
2016-07-31T20:34:51.296517+00:00 app[web.1]: npm ERR! Or if that isn't available, you can get their info via:
2016-07-31T20:34:51.296625+00:00 app[web.1]: npm ERR! npm owner ls *********
2016-07-31T20:34:51.296730+00:00 app[web.1]: npm ERR! There is likely additional logging output above.
2016-07-31T20:34:51.300465+00:00 app[web.1]:
2016-07-31T20:34:51.300731+00:00 app[web.1]: npm ERR! /app/npm-debug.log
2016-07-31T20:34:51.300635+00:00 app[web.1]: npm ERR! Please include the following file with any support request:
2016-07-31T20:34:51.385297+00:00 heroku[web.1]: State changed from starting to crashed
2016-07-31T20:34:51.373820+00:00 heroku[web.1]: Process exited with status 1
2016-07-31T20:35:00.298699+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=*********.herokuapp.com request_id=a09912*********-f3aee9e3a05a fwd="*********" dyno= connect= service= status=503 bytes=
然而,部署时这仍然不起作用 我看到两个错误:
首先
npm没有问题,但您的代码:
Error: Cannot find module './config/config'
所以我猜在你的app.js中你做了一个不存在的require('./config/config')
秒
npm错误!缺少脚本:开始
您应该在包中指定开始操作:
"scripts": {
"start": "node app.js"
},
需要查看您提到的错误-信息不足您是否正在使用TypeScript以及正在部署传输的JS文件?.config/config已修复,谢谢。我试图将“start”合并到我的package.json中,但没有成功。原始帖子中添加了详细信息和新日志。package.json中的“main”和“start”之间是否存在冲突?我只需要初始化server/app.js
{
"name": "*********",
"version": "1.0.0",
"description": "*********",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "cd server && node app.js"
},
"author": "*********",
"license": "ISC"
}
Error: Cannot find module './config/config'
"scripts": {
"start": "node app.js"
},