使用grunt或节点服务器启动服务器时出错

时间:2014-01-04 01:04:19

标签: node.js express gruntjs mean-stack

我正在尝试使用此处所述的平均堆栈:http://mean.io/

安装后,制作“grunt”时出现错误:

debugger listening on port 5858
4 Jan 01:47:40 - [nodemon] reading ignore list
Express app started on port 3000

events.js:72
    throw er; // Unhandled 'error' event
          ^
Error: failed to connect to [localhost:27017]
    at null.<anonymous> (/mean/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:540:74)
    at EventEmitter.emit (events.js:106:17)
    at null.<anonymous> (/mean/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:140:15)
    at EventEmitter.emit (events.js:98:17)
    at Socket.<anonymous> (/mean/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection.js:478:10)
    at Socket.EventEmitter.emit (events.js:95:17)
    at net.js:441:14
    at process._tickCallback (node.js:415:13)
4 Jan 01:47:40 - [nodemon] app crashed - waiting for file changes before starting...

我尝试了网站上指定的故障排除:更新Grunt,凉亭和清洁npm和凉亭缓存效果很好。但是更新npm也会出错:

npm ERR! error rolling back Error: Refusing to delete: /usr/local/bin/npm not in /usr/local/lib/node_modules/npm

这看起来像conflict between homebrew and npm。 但无论如何我安装了1.3.21版本。

我在尝试node server时出现同样的错误。

你知道如何让服务器工作吗?

2 个答案:

答案 0 :(得分:17)

这可能太简单了,但看起来你的MongoDB服务器实际上并没有运行。安装Mongo后(在我的Mac上,我假设?),你必须打开一个终端窗口/标签,运行mongod并保持运行(或使用screen等)。您可以通过键入mongo来尝试访问MongoDB CLI,以确保服务器正在运行。

答案 1 :(得分:1)

@desgnl:如果你不想在每次运行grunt时都运行mongod命令,你可以随时使用MongoDB Hosting:MongoLab https://mongolab.com的MongoDB Hosting:Database-as-a-Service等第三方服务希望这也有帮助!