我对 Heroku 非常陌生并且已经部署。
我设法创建了一个应用程序并使用 mongolab 创建了一个 mongoDB。我将 3 个文件(ProcFile、server.js 和 package.json => 参见下面的代码)插入到我的 heroku 应用程序文件夹的根目录
我的应用程序有应用程序错误。这是日志,当我 git push 到 heroku master 时(我想知道为什么它说没有 ProcFile)。
谁能帮我解决这个问题?
日志:
-----> 检测到 Node.js 应用程序
-----> 读取应用程序状态包.json...构建目录...缓存目录...环境变量...
Node engine: 0.8.x Npm engine: 1.2.x Start mechanism: npm start node_modules source: package.json node_modules cached: true NPM_CONFIG_PRODUCTION=true NODE_MODULES_CACHE=true
-----> 安装二进制文件正在通过 semver.io 解析节点版本 0.8.x...正在下载和安装节点 0.8.28...正在通过 semver.io 解析 npm 版本 1.2.x...正在下载和安装 npm 1.2。 8000(替换版本 1.2.30)... npm WARN package.json github-url-from-git@1.1.1 没有存储库字段。npm WARN package.json assert-plus@0.1.2 没有存储库字段。npm WARN package.json ctype@0.5.2 没有存储库字段。npm WARN 未满足的依赖项 /tmp/build_eda7353fa1e9a8af28d45ba384d0c26f/.heroku/node/lib/node_modules/npm/node_modules/glob 需要 minimatch@'^0.3.0' 但将加载 npm WARN 未满足的依赖项 /tmp/build_eda7353fa1e9a8af28d45ba384d0c26f/heroku/nodelib/。 /node_modules/npm/node_modules/minimatch,npm WARN 未满足的依赖项,即版本 0.3。
-----> 构建依赖 Npm 版本已更改(2.2.0 => 1.2.8000);使缓存失效 安装节点模块 npm WARN package.json myappName@1.1.0 没有存储库字段。npm WARN package.json myappName@1.1.0 没有 README 数据 npm WARN engine deployd@0.7.0: Wanted: {"node":">= 0.10.0"} (current: {"node":"v0.8.28" "npm":"1.2.8000"})
> ws@0.4.32 install /tmp/build_eda7353fa1e9a8af28d45ba384d0c26f/node_modules/deployd/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws > (node-gyp rebuild 2> builderror.log) || (exit 0) make: Entering directory `/tmp/build_eda7353fa1e9a8af28d45ba384d0c26f/node_modules/deployd/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/build' CXX(target) Release/obj.target/bufferutil/src/bufferutil.o SOLINK_MODULE(target) Release/obj.target/bufferutil.node SOLINK_MODULE(target) Release/obj.target/bufferutil.node: Finished COPY Release/bufferutil.node CXX(target) Release/obj.target/validation/src/validation.o SOLINK_MODULE(target) Release/obj.target/validation.node SOLINK_MODULE(target) Release/obj.target/validation.node: Finished COPY Release/validation.node make: Leaving directory `/tmp/build_eda7353fa1e9a8af28d45ba384d0c26f/node_modules/deployd/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws/build' > bson@0.0.6 install /tmp/build_eda7353fa1e9a8af28d45ba384d0c26f/node_modules/deployd/node_modules/mongodb/node_modules/bson > node install.js ================================================================================ = = = To install with C++ bson parser do <npm install mongodb --mongodb:native> = = = ================================================================================ deployd@0.7.0 node_modules/deployd ????????? scrubber@0.0.0 ????????? qs@0.6.6 ????????? validation@0.0.1 ????????? commander@2.6.0 ????????? corser@1.1.2 ????????? step@0.0.5 ????????? wrench@1.3.9 ????????? q@0.8.12 ????????? underscore@1.7.0 ????????? async@0.1.22 ????????? ejs@0.7.2 ????????? opener@1.3.0 ????????? semver@1.1.4 ????????? shelljs@0.0.6-pre2 ????????? debug@2.1.1 (ms@0.6.2) ????????? cookies@0.5.0 (keygrip@1.0.1) ????????? mkdirp@0.5.0 (minimist@0.0.8) ????????? filed@0.1.0 (mime@1.2.11) ????????? send@0.0.2 (fresh@0.1.0, range-parser@0.0.4, mime@1.2.6) ????????? fstream@0.1.31 (inherits@2.0.1, graceful-fs@3.0.5, rimraf@2.2.8) ????????? doh@0.0.4 (ejs@0.8.8) ????????? tar@0.1.20 (block-stream@0.0.7, inherits@2.0.1) ????????? fstream-ignore@0.0.10 (inherits@2.0.1, minimatch@0.3.0) ????????? http-proxy@0.8.1 (colors@0.6.2, pkginfo@0.2.3, optimist@0.2.8) ????????? request@2.51.0 (json-stringify-safe@5.0.0, caseless@0.8.0, forever-agent@0.5.2, aws-sign2@0.5.0,
stringstream@0.0.4, oauth-sign@0.5.0, tunnel-agent@0.4.0, qs@2.3.3, mime-types@1.0.2, node-uuid@1.4.2, combine-stream@0.0。 7、http-signature@0.10.1、tough-cookie@0.12.1、form-data@0.2.0、bl@0.9.4、hawk@1.1.1)????????? socket.io@0.9.17 (base64id@0.1.0, policyfile@0.0.4, redis@0.7.3, socket.io-client@0.9.16) ????????? mongodb@1.0.2 (bson@0.0.6)
-----> 检查启动方法 No Procfile; 将 'web: npm start' 添加到新的 Procfile
-----> 完成构建 创建运行时环境 导出二进制路径 清理 npm 工件 清理以前的缓存 为未来构建缓存结果
-----> 构建成功!
myappName@1.1.0 /tmp/build_eda7353fa1e9a8af28d45ba384d0c26f ????????? deployd@0.7.0 WARNING: This version of npm (1.2.8000) has several known issues - consider upgrading to the latest release (2.2.0) https://devcenter.heroku.com/articles/nodejs-support#specifying-an-npm-version
-----> 发现进程类型 Procfile 声明类型 -> web
-----> Compressing... done, 11.1MB -----> Launching... done, v12 https://[myappName].herokuapp.com/部署到 Heroku
过程文件
web: node server
包.json
{
"name": "my app",
"version": "1.1.0",
"description": "",
"keywords": [],
"homepage": "",
"author": "Me",
"contributors": [],
"dependencies": {
"deployd": ">= 0"
},
"scripts": {
"start": "node server"
},
"engines": {
"node": "0.8.x",
"npm": "1.2.x"
}
}
服务器.js
// require deployd
var deployd = require('deployd');
// configure database etc.
var server = deployd({
port: process.env.PORT || 5000,
env: 'production',
db: {
host: 'something.mongolab.com',//my real host name
port: 31601,
name: 'heroku_appxxxxxx', //my real app name
credentials: {
username: process.env.MONGODB_USERNAME,
password: process.env.MONGODB_PASSWORD
}
}
});
// heroku requires these settings for sockets to work
server.sockets.manager.settings.transports = ["xhr-polling"];
// start the server
server.listen();
// debug
server.on('listening', function() {
console.log("Server is listening on port: " + process.env.PORT);
});
// Deployd requires this
server.on('error', function(err) {
console.error(err);
process.nextTick(function() { // Give the server a chance to return an error
process.exit();
});
});
非常感谢你的帮助。
这是“heroku log -t”命令返回的内容:
2015-01-22T22:25:16.147815+00:00 app[web.1]: 2015-01-22T22:25:16.878293+00:00 heroku[web.1]: 进程以状态 1 退出 2015-01-22T22 :25:16.890633 + 00:00 heroku [web.1]:状态从开始变为崩溃2015-01-22T23:37:30.079428 + 00:00 heroku [web.1]:状态从崩溃变为启动2015 -01-22T23:37:32.332481+00:00 heroku[web.1]:使用命令
n pm start
2015-01-22T23:37:34.519186+00:00 app[web.1] 启动进程:2015-01-22T23:37 :34.519203+00:00 app[web.1]: > myappname@1.1.0 开始 /app 2015-01-22T23:37:34.519207+00:00 app[web.1]: 2015-01-22T23:37: 34.519205+00:00 应用程序 [web.1]: > 节点服务器 2015-01-22T23:37:35.071282+00:00 应用程序 [web.1]: 2015-01-22T23:37:35.071937+00:00 应用程序 [ web.1]:错误:ENOENT,readdir 'resources' 2015-01-22T23:37:35.087520+00:00 app[web.1]: npm ERR!myappname@1.1.0 开始:node s erver
2015-01-22T23:37:35.087700+00:00 应用 [web.1]:npm 错误!退出状态 1 2015-01-22T23:37:35.087840+00:00 app[web.1]: npm ERR! 2015-01-22T23:37:35.088495+00:00 应用程序 [web.1]:npm 错误!这很可能是 myappname 包的问题,2015-01-22T23:37:35.087892+00:00 app[web.1]: npm ERR!在 myappname@1.1.0 启动脚本处失败。2015-01-22T23:37:35.091315+00:00 应用程序 [web.1]:npm 错误!cwd /app 2015-01-22T23:37:35.091657+00:00 app[web.1]: npm ERR!节点-v v0.8.28 2015-01-22T23:37:35.095021+00:00 app[web.1]: npm ERR!代码 ELIFECYCLE 2015-01-22T23:37:35.094749+00:00 app[web.1]: npm ERR!npm -v 1.2.8000 2015-01-22T23:37:35.101035+00:00 应用程序 [web.1]:npm 错误!2015-01-22T23:37:35.101194+00:00 应用程序 [web.1]:npm 错误!可以在以下位置找到其他日志记录详细信息:2015-01-22T23:37:35.101383+00:00 app[web.1]: npm ERR!
/app/npm-debug.log 2015-01-22T23:37:35.101550+00:00 app[web.1]: npm 错误!错误代码 0 2015-01-22T23:37:35.071573+00:00 app[web.1]:加载资源时出错:2015-01-22T23:37:35.089184+00:00 app[web.1]:npm ERR !不是 npm 本身。2015-01-22T23:37:35.081587+00:00 应用程序 [web.1]: 2015-01-22T23:37:35.089921+00:00 应用程序 [web.1]: npm 错误!npm 所有者 ls myappname 2015-01-22T23:37:35.090107+00:00 app[web.1]: npm ERR!上面可能有额外的日志输出。2015-01-22T23:37:35.090358+00:00 应用程序 [web.1]:npm 错误!系统 Linux 3.13.0-40-gen eric 2015-01-22T23:37:35.090869+00:00 app[web.1]: npm ERR!命令“节点”“/app/.hero ku/node/bin/npm”“开始”2015-01-22T23:37:35.089349+00:00 app[web.1]:npm ERR!告诉作者这在您的系统上失败:2015-01-22T23:37:35.089535+00:00 app[web.1]:npm 错误!节点服务器 2015-01-22T23:37:35.089765+00:00 app[web.1]: npm ERR!您可以通过以下方式获取他们的信息:2015-01-22T23:37:35.914172+00:00 heroku[web.1]: Process exited with status 1 2015-01-22T23:37:35.922884+00:00 heroku[web.1 ]:状态从开始变为崩溃 2015-01-23T01:07:57.421508+00:00 heroku[web.1]: 使用命令启动进程n pm start
2015-01-23T01:07:59.976915+00:00 app[web.1]: 2015-01-23T01:07:59.976963+00:00 app[web.1]: > myappname@1.1.0 开始 /app 2015 -01-23T01:07:59.976965+00:00 app[web.1]: > 节点服务器 2015-01-23T01:07:59.976967+00:00 app[web.1]: 2015-01-23T01:08: 00.496965+00:00 app[web.1]:加载资源时出错:2015-01-23T01:08:00.507766+00:00 app[web.1]:2015-01-23T01:08:00.497357+00:00 app [web.1]:错误:ENOENT,readdir 'resources' 2015-01-23T01:08:00.513161+00:00 app[web.1]:npm 错误!myappname@1.1.0 开始:node s erver
2015-01-23T01:08:00.513403+00:00 应用 [web.1]:npm 错误!退出状态 1 2015-01-23T01:08:00.514599+00:00 app[web.1]: npm ERR! 这很可能是 myappname 包的问题,2015-01-23T01:08:00.513607+00:00 app[web.1]: npm ERR! 2015-01-23T01:08:00.514719+00:00 应用程序 [web.1]:npm 错误!不是 npm 本身。2015-01-23T01:08:00.513749+00:00 应用程序 [web.1]:npm 错误!在 myappname@1.1.0 启动脚本处失败。2015-01-23T01:08:00.514853+00:00 应用程序 [web.1]:npm 错误!告诉作者这在您的系统上失败:2015-01-23T01:08:00.496673+00:00 app[web.1]: 2015-01-23T01:08:00.514977+00:00 app[web.1]: npm 错误!节点服务器 2015-01-23T01:08:00.515141+00:00 app[web.1]: npm ERR!您可以通过以下方式获取他们的信息:2015-01-23T01:08:00.515245+00:00 app[web.1]: npm ERR! npm 所有者 ls myappname 2015-01-23T01:08:00.515382+00:00 app[web.1]: npm 错误!上面可能有额外的日志输出。2015-01-23T01:08:00.515563+00:00 应用程序 [web.1]:npm 错误!系统 Linux 3.13.0-40-gen eric 2015-01-23T01:08:00.515740+00:00 app[web.1]: npm ERR!命令 "node" "/app/.hero ku/node/bin/npm" "start" 2015-01-23T01:08:00.515914+00:00 app[web.1]: npm ERR!cwd /app 2015-01-23T01:08:00.516078+00:00 app[web.1]: npm 错误!节点-v v0.8.28 2015-01-23T01:08:00.516321+00:00 app[web.1]: npm ERR!npm -v 1.2.8000 2015-01-23T01:08:00.516461+00:00 应用程序 [web.1]:npm 错误!代码 ELIFECYCLE 2015-01-23T01:08:00.517740+00:00 app[web.1]: npm ERR!2015-01-23T01:08:00.517993+00:00 应用程序 [web.1]:npm 错误!00 应用 [web.1]:npm 错误!命令 "node" "/app/.hero ku/node/bin/npm" "start" 2015-01-23T01:08:00.515914+00:00 app[web.1]: npm ERR!cwd /app 2015-01-23T01:08:00.516078+00:00 app[web.1]: npm 错误!节点-v v0.8.28 2015-01-23T01:08:00.516321+00:00 app[web.1]: npm ERR!npm -v 1.2.8000 2015-01-23T01:08:00.516461+00:00 应用程序 [web.1]:npm 错误!代码 ELIFECYCLE 2015-01-23T01:08:00.517740+00:00 app[web.1]: npm ERR!2015-01-23T01:08:00.517993+00:00 应用程序 [web.1]:npm 错误!00 应用 [web.1]:npm 错误!命令 "node" "/app/.hero ku/node/bin/npm" "start" 2015-01-23T01:08:00.515914+00:00 app[web.1]: npm ERR!cwd /app 2015-01-23T01:08:00.516078+00:00 app[web.1]: npm 错误!节点-v v0.8.28 2015-01-23T01:08:00.516321+00:00 app[web.1]: npm ERR!npm -v 1.2.8000 2015-01-23T01:08:00.516461+00:00 应用程序 [web.1]:npm 错误!代码 ELIFECYCLE 2015-01-23T01:08:00.517740+00:00 app[web.1]: npm ERR!2015-01-23T01:08:00.517993+00:00 应用程序 [web.1]:npm 错误!npm 错误!代码 ELIFECYCLE 2015-01-23T01:08:00.517740+00:00 app[web.1]: npm ERR!2015-01-23T01:08:00.517993+00:00 应用程序 [web.1]:npm 错误!npm 错误!代码 ELIFECYCLE 2015-01-23T01:08:00.517740+00:00 app[web.1]: npm ERR!2015-01-23T01:08:00.517993+00:00 应用程序 [web.1]:npm 错误!
/app/npm-debug.log 2015-01-23T01:08:00.518222+00:00 app[web.1]: npm 错误!错误代码 0 2015-01-23T01:08:00.517870+00:00 app[web.1]: npm ERR!可以在以下位置找到其他日志记录详细信息:2015-01-23T01:08:01.307216+00:00 heroku[web.1]: Process exited with status 1 2015-01-23T01:08:01.315931+00:00 heroku[web.1] 1]:状态从开始变为崩溃 2015-01-23T04:15:56.955682+00:00 heroku[web.1]:状态从崩溃变为开始 2015-01-23T04:16:00.763097+00:00 heroku[web.1]:使用命令启动进程n pm start
2015-01-23T04:16:04.864921+00:00 app[web.1]: 2015-01-23T04:16:04.864940+00:00 app[web.1]: > 节点服务器 2015-01-23T04:16 :04.864942+00:00 app[web.1]: 2015-01-23T04:16:04.864939+00:00 app[web.1]: > myappname@1.1.0 start /app 2015-01-23T04:16: 05.471847+00:00 app[web.1]:2015-01-23T04:16:05.452400+00:00 app[web.1]:加载资源时出错:2015-01-23T04:16:05.476361+00:00 app [web.1]:npm 错误!2015-01-23T04:16:05.476484+00:00 应用程序 [web.1]:npm 错误!在 myappname@1.1.0 启动脚本处失败。2015-01-23T04:16:05.477178+00:00 应用程序 [web.1]:npm 错误!不是 npm 本身。2015-01-23T04:16:05.477054+00:00 应用 [web.1]:npm 错误!这很可能是 myappname 包的问题,2015-01-23T04:16:05.477310+00:00 app[web.1]: npm ERR!告诉作者这在您的系统上失败:2015-01-23T04:16:05.452048+00:00 app[web.1]:2015-01-23T04:16:05.452756+00:00 app[web.1]:错误:ENOENT,readdir 'resources' 2015-01-23T04:16:05.475943+00:00 app[web.1]:npm ERR !myappname@1.1.0 开始:node s erver
2015-01-23T04:16:05.476190+00:00 应用 [web.1]:npm 错误!退出状态 1 2015-01-23T04:16:05.477973+00:00 app[web.1]: npm ERR! 系统 Linux 3.13.0-40-gen eric 2015-01-23T04:16:05.477435+00:00 app[web.1]: npm ERR!节点服务器 2015-01-23T04:16:05.477558+00:00 app[web.1]: npm ERR!您可以通过以下方式获取他们的信息:2015-01-23T04:16:05.477681+00:00 app[web.1]: npm ERR! npm 所有者 ls myappname 2015-01-23T04:16:05.477804+00:00 app[web.1]: npm ERR!上面可能有额外的日志输出。2015-01-23T04:16:05.478145+00:00 应用程序 [web.1]:npm 错误!命令“节点”“/app/.hero ku/node/bin/npm”“开始”2015-01-23T04:16:05.478311+00:00 app[web.1]:npm ERR!cwd /app 2015-01-23T04:16:05.478475+00:00 app[web.1]: npm 错误!节点-v v0.8.28 2015-01-23T04:16:05.480171+00:00 app[web.1]: npm ERR!
/app/npm-debug.log 2015-01-23T04:16:05.480292+00:00 app[web.1]: npm 错误!错误代码 0 2015-01-23T04:16:05.480111+00:00 app[web.1]: npm ERR!可以在以下位置找到其他日志记录详细信息:2015-01-23T04:16:05.478856+00:00 app[web.1]: npm ERR! npm -v 1.2.8000 2015-01-23T04:16:05.478967+00:00 应用程序 [web.1]:npm 错误!代码 ELIFECYCLE 2015-01-23T04:16:05.480021+00:00 app[web.1]: npm ERR!2015-01-23T04:16:06.250211+00:00 heroku[web.1]:进程以状态 1 退出 2015-01-23T04:16:06.261424+00:00 heroku[web.1]:状态从开始变为坠毁