Heroku говорит: не удается найти модуль 'socket.io' - PullRequest
4 голосов
/ 24 октября 2011

Я развертываю приложение node.js с deps / модулями, такими как: стилус, экспресс, socket.io на heroku.

Начало сервера. 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", "описание": "блабла", "версия": "0.0.1", "зависимости": { "экспресс": "2.3.11" , "нефрит": "0.12.1" "стилус": "0.13.3" , "nib": "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

Итак, есть идеи? С кем-нибудь случалось?

Ответы [ 3 ]

8 голосов
/ 24 октября 2011

Я считаю, что вы должны добавить socket.io в зависимости в package.json.

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

Или просто сделайте это:

npm install socket.io --save

, который установит последнюю версию socket.io и добавит ее в зависимости.

2 голосов
/ 12 марта 2012
npm install socket.io 

сделал трюк для меня.Если вы находитесь под Windows, убедитесь, что вы используете его как администратор.

0 голосов
/ 24 октября 2011

Вы уверены, что у вас установлен сокет io? Попробуйте запустить:

npm install socket.io

Это установит последний файл socket.io, доступный в хранилище пакетов узлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...