第一个通过Heroku进行Node应用部署的麻烦

遵循12dev的圣诞教程来创build我的第一个Node.js应用程序( http://12devsofxmas.co.uk/post/2012-12-28-day-3-realtime-collaborative-drawing-with-nodejs ) m现在试图按照Rob Dodson的教程通过Heroku部署它( http://robdodson.me/blog/2012/06/04/deploying-your-first-node-dot-js-and-socket-dot-io- app-to-heroku / )

但是,在提交给github之后,当我尝试推送到Heroku时,出现以下错误输出:

-----> Installing dependencies with npm npm WARN package.json Draw@0.0.1 No README.md file found! npm http GET https://registry.npmjs.org/express npm http 200 https://registry.npmjs.org/express npm http GET https://registry.npmjs.org/express/-/express-2.5.11.tgz npm http 200 https://registry.npmjs.org/express/-/express-2.5.11.tgz npm ERR! Refusing to delete: /tmp/build_1t6d7hbd2psal/node_modules/.bin/express not in /tmp/build_1t6d7hbd2psal/node_modules/express File exists: /tmp/build_1t6d7hbd2psal/node_modules/.bin/express Move it away, and try again. npm ERR! System Linux 2.6.32-350-ec2 npm ERR! command "/tmp/node-node-Fenl/bin/node" "/tmp/node-npm-6pyT/cli.js" "install" "--production" npm ERR! cwd /tmp/build_1t6d7hbd2psal npm ERR! node -v v0.6.20 npm ERR! npm -v 1.1.65 npm ERR! path /tmp/build_1t6d7hbd2psal/node_modules/.bin/express npm ERR! code EEXIST npm ERR! npm ERR! Additional logging details can be found in: npm ERR! /tmp/build_1t6d7hbd2psal/npm-debug.log npm ERR! not ok code undefined npm ERR! not ok code 1 ! Failed to install --production dependencies with npm ! Heroku push rejected, failed to compile Node.js app To git@heroku.com:secure-dawn-2437.git ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to 'git@heroku.com:secure-dawn-2437.git' 

我的package.json文件如下所示:

 { "name": "Draw", "version": "0.0.1", "private": true, "dependencies": { "express": "~2.x", "socket.io": "~0.9.x" }, "engines": { "node": "0.6.x", "npm": "1.1.x" } } 

我很抱歉 – 我对这种发展完全陌生,大部分时间在学校学习Java,但我很想学习。 我认为这个问题是用某种方式expression的,但是我不确定“移走它,再试一次”是什么意思。

您正在尝试部署的应用程序中是否有一个Procfile文件?

如果没有,请查看Heroku网站上提供的文档:

https://devcenter.heroku.com/articles/nodejs#declare-process-types-with-procfile

编辑:

我强烈build议您首先部署一个非常简单的Node.js应用程序(如Hello World),以便追溯错误的来源。

尝试从.gitignore中删除bin和.bin,或将node_modules添加到.gitignore。 更多信息: 无法将node.js应用程序部署到heroku

我能够通过暂时禁用Heroku的caching来解决这个问题:

heroku config:set NODE_MODULES_CACHE=false

推入构build,然后打开caching。