2013-01-04 16 views
7

Właśnie zainstalowałem node.js + Microsoft Visual aby móc zainstalować websocket, że zainstalowane prawidłowo:node.js moduł websocket zainstalowany, ale nie będzie działać w skryptach

C:\Users\Administrator>npm install websocket 
npm http GET https://registry.npmjs.org/websocket 
npm http 304 https://registry.npmjs.org/websocket 

> [email protected] install C:\Users\Administrator\node_modules\websocket 
> node install.js 

[websocket v1.0.8] Attempting to compile native extensions. 
[websocket v1.0.8] Native extension compilation successful! 
[email protected] node_modules\websocket 

C:\Users\Administrator> 

Teraz próbuję uruchomić skrypt z tego:

var WebSocketServer = require('websocket').Server; 

i uzyskać w ten sposób:

C:\Users\Administrator>node C:\server\src\main.js 

module.js:340 
throw err; 
    ^
Error: Cannot find module 'websocket' 
at Function.Module._resolveFilename (module.js:338:15) 
at Function.Module._load (module.js:280:25) 
at Module.require (module.js:362:17) 
at require (module.js:378:17) 
at Object.<anonymous> (C:\server\src\main.js:2:23) 
at Module._compile (module.js:449:26) 
at Object.Module._extensions..js (module.js:467:10) 
at Module.load (module.js:356:32) 
at Function.Module._load (module.js:312:12) 
at Module.runMain (module.js:492:10) 

C:\Users\Administrator> 

Każda pomoc będzie mile widziane, ja już próbowałem instalując kilka razy, próbowałem zainstalować go globalnie (-g tag).

Odpowiedz

0

Np zainstalować moduł w ./node_modules/. Dlatego należy zainstalować websocket IN the C:\server\src\.

3

Ive got ten sam błąd .. I tu następujące kroki:

Wykonuje cmd jako administrator (prawy przycisk myszy cmd icon-> Uruchom jako administrator) Następnie wpisz cmd:

c:\Node Instalation Dir\> npm install -g express 
c:\Node Instalation Dir\> npm install websocket --force 

Teraz możesz uruchomić swój skrypt:

c:\Node Instalation Dir\> node script.js 

Zrobiłem na serwerze testowym .. spróbuj nie używać "--force" w serwerze produkcyjnym ok?

+0

'npm install websocket --force pracował dla mnie, dzięki! (wciąż nie wiem, dlaczego robi różnicę) – BiAiB

4

pamiętać, że można dostać ten błąd, jeśli zainstalowano moduł NPM globalnie (z opcją -g) i nie powiedział node korzystać z globalnej ścieżki modułu rozwiązać wymagania.

W systemie Linux po zainstalowaniu modułu websocket globalnie:

$ sudo npm install -g websocket 
npm http GET https://registry.npmjs.org/websocket 
npm http 200 https://registry.npmjs.org/websocket 
npm http GET https://registry.npmjs.org/websocket/-/websocket-1.0.8.tgz 
npm http 200 https://registry.npmjs.org/websocket/-/websocket-1.0.8.tgz 

> [email protected] install /usr/local/lib/node_modules/websocket 
> node install.js 

[websocket v1.0.8] Attempting to compile native extensions. 
[websocket v1.0.8] Native extension compilation successful! 
[email protected] /usr/local/lib/node_modules/websocket 

naśladujących tego miałem wyeksportować zmienną NODE_PATH środowiskową, aby wskazać ścieżkę wspomnianej w powyższym przykładzie:

export NODE_PATH=/usr/local/lib/node_modules 

po tym :

$ node 
> require('websocket') 
{ server: 
    { [Function: WebSocketServer] 
    super_: { [Function: EventEmitter] listenerCount: [Function] } }, 
    ... 

Hope w pełni pomaga to komuś, kto szuka tego komunikatu o błędzie.

Powiązane problemy