Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js表示堆栈应用程序在本地工作,但可以';不要部署到Heroku_Node.js_Heroku_Web Deployment_Mean Stack - Fatal编程技术网

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"
  },