2011-10-24 15 views
3

私はherokuのstylus、express、socket.ioのようなdeps/modulesを使ってnode.jsアプリケーションをデプロイします。Heroku氏:モジュール 'socket.io'を見つけることができません

server.js

/** 
* Bootstrap app. 
*/ 

// I've tried with and without that line... not sure what it does 
require.paths.unshift(__dirname + '/../../lib/'); 



/** 
* Module dependencies. 
*/ 

// I've tried with "socket.io", "./socket.io" and "Socket.IO" 
var express = require('express') 
    , stylus = require('stylus') 
    , nib = require('nib') 
    , sio = require('socket.io'); 

ファイルpackage.json

{ "名前" の冒頭: "test.io"、 "説明": "blabla"、 "バージョン ": "0.0.1"、 "依存性":{ が "表現": "2.3.11" を を、 "玉": "0.12.1" 、 "スタイラス": "0.13.3" 、" ニブ":" 0.0.8 " }}

だから、唯一の英雄のウェブワーカーがクラッシュする。ここにログがあります:

2011-10-24T09:15:27+00:00 heroku[slugc]: Slug compilation finished 
2011-10-24T09:15:35+00:00 heroku[web.1]: Unidling 
2011-10-24T09:15:35+00:00 heroku[web.1]: State changed from down to created 
2011-10-24T09:15:35+00:00 heroku[web.1]: State changed from created to starting 
2011-10-24T09:15:39+00:00 heroku[web.1]: State changed from starting to crashed 
2011-10-24T09:15:39+00:00 heroku[web.1]: State changed from crashed to created 
2011-10-24T09:15:39+00:00 heroku[web.1]: State changed from created to starting 
2011-10-24T09:15:41+00:00 heroku[web.1]: Starting process with command `node app.js` 
2011-10-24T09:15:41+00:00 app[web.1]: 
2011-10-24T09:15:41+00:00 app[web.1]: node.js:134 
2011-10-24T09:15:41+00:00 app[web.1]:   throw e; // process.nextTick error, or 'error' event on first tick 
2011-10-24T09:15:41+00:00 app[web.1]:  ^
2011-10-24T09:15:41+00:00 app[web.1]: Error: Cannot find module 'socket.io' 
2011-10-24T09:15:41+00:00 app[web.1]:  at Function._resolveFilename (module.js:320:11) 
2011-10-24T09:15:41+00:00 app[web.1]:  at Function._load (module.js:266:25) 
2011-10-24T09:15:41+00:00 app[web.1]:  at require (module.js:348:19) 
2011-10-24T09:15:41+00:00 app[web.1]:  at Object.<anonymous> (/app/app.js:18:11) 
2011-10-24T09:15:41+00:00 app[web.1]:  at Module._compile (module.js:404:26) 
2011-10-24T09:15:41+00:00 app[web.1]:  at Object..js (module.js:410:10) 
2011-10-24T09:15:41+00:00 app[web.1]:  at Module.load (module.js:336:31) 
2011-10-24T09:15:41+00:00 app[web.1]:  at Function._load (module.js:297:12) 
2011-10-24T09:15:41+00:00 app[web.1]:  at Array.<anonymous> (module.js:423:10) 
2011-10-24T09:15:41+00:00 app[web.1]:  at EventEmitter._tickCallback (node.js:126:26) 
2011-10-24T09:15:41+00:00 heroku[web.1]: Process exited 
2011-10-24T09:15:44+00:00 heroku[web.1]: State changed from starting to crashed 

だからアイデアはありますか?誰にも起こったことはありますか?

答えて

0

ソケットioをインストールしてもよろしいですか?試してみてください:

npm install socket.io 

これはノードのパケットリポジトリで利用できる最新のsocket.ioをインストールします。

+0

英雄です。それにnpmを走らせることはできますか?ゴナナール... –

8

私はあなたがpackage.jsonの依存関係でsocket.ioを追加すべきだと考えます。

{ "name": "test.io" , "description": "blabla" , "version": "0.0.1" , "dependencies": { "express": "2.3.11" , "jade": "0.12.1" , "stylus": "0.13.3" , "nib": "0.0.8" , "socket.io" : "0.8.5" } } 

それとも、この操作を行います。socket.ioの最新バージョンをインストールして、依存関係に追加します

npm install socket.io --save

3
npm install socket.io 

私のためのトリックでした。 Windowsの下にいる場合は、管理者として実行していることを確認してください。