2013-01-04 1 views
7

ich gerade installiert node.js + microsoft visual Lage sein, die websocket zu installieren, installiert fein:node.js websocket Modul installiert, aber funktioniert nicht in Skripten

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> 

Jetzt versuche ich zu ein Skript mit diesem:

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

und ich dieses:

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> 

Jede Hilfe würde geschätzt, ich habe bereits versucht, Ich habe mehrere Male versucht, es global zu installieren (-g-Tag).

Antwort

0

Die npm installieren das Modul in ./node_modules/. So sollten Sie die Websocket IN die C:\server\src\ installieren.

3

Ive got hier denselben Fehler .. Ich gehen Sie folgendermaßen vor:

als Administrator ausführen cmd (Rechtsklick cmd icon-> Als Administrator ausführen) Geben Sie dann in cmd:

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

jetzt können u Ihr Skript ausführen:

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

ich in einem Test-Server haben .. versuchen use '--force' in Produktionsserver ok nicht?

+0

'npm install websocket --force' arbeitete für mich, danke! (weiß immer noch nicht, warum es einen Unterschied macht, aber) – BiAiB

4

Beachten Sie, dass Sie diesen Fehler erhalten können, wenn Sie ein NPM-Modul global (mit der Option -g) installiert haben und node nicht mitgeteilt haben, den globalen Modulpfad zum Lösen von Anforderungen zu verwenden.

Unter Linux installiert ich das websocket Modul global:

$ 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 

Im Anschluss daran ich die NODE_PATH Umgebungsvariable zu exportieren hatte in der Ausgabe oben erwähnt auf den Weg Punkt:

export NODE_PATH=/usr/local/lib/node_modules 

Danach :

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

Hoffnung Dies hilft jemandem, der nach dieser Fehlermeldung sucht.