2013-06-12 22 views
25
[~]# node node.js 

Error: Cannot find module 'socket.io' 

[~]# node -v 
v0.10.10 

स्थापित socket.io:त्रुटि: नहीं खोजा जा सका मॉड्यूल 'socket.io'

npm install socket.io 

npm WARN package.json [email protected] No repository field. 
npm WARN package.json [email protected] 'repositories' (plural) Not supported. 
npm WARN package.json Please pick one as the 'repository' field 
+0

क्या आपके पास पैकेज.जेसन है? – WouterH

उत्तर

49

ऐसा लगता है कि आपने अपने वर्तमान पथ पर किसी भिन्न स्थान पर socket.io इंस्टॉल किया है। ajtrichards

var io = require('../lib/socket.io'); 
+1

var io = आवश्यकता ('/ root/node_modules/socket.io/lib/socket.io'); var express = आवश्यकता ('/ usr/local/lib/node_modules/express/lib/express.js'); – DmitriyB

+1

मैंने – DmitriyB

+0

@ajtrichards बनाया और अर्जित किया - मेरे लिए यह काम नहीं करता है जब मैं कम से कम रिबूट पर crontab से नोड चलाता हूं। अगर मैं आवश्यकता() फ़ंक्शन के लिए पूर्ण पथ जोड़ता हूं तो मुझे लगता है कि यह काम करेगा –

0

मुझे लगता है कि आप एक अलग स्थान में आदेश npm install socket.io मार डाला है और आपकी फ़ाइलों अलग निर्देशिका में हैं। तो या तो उसी निर्देशिका में कमांड चलाएं जिसमें आपकी फ़ाइलें हों या या तो पथ का उल्लेख करें जहां आपने वर्तमान में अपने PATH चर में socket.io स्थापित किया है।

+1

कृपया अपने उत्तर –

+0

@ AlecHenderson_v1 में कुछ और संदर्भ डालें।00 असल में मैं यह कह रहा हूं; आपके पास एक निर्देशिका "एबीसी" कह सकती है जहां आपके पास node.exe फ़ाइलें और npm.cmd है (यदि आप विंडोज ऑपरेटिंग सिस्टम का उपयोग कर रहे हैं) तो वहां आपके पास node_modules फ़ोल्डर भी होगा ताकि आपको यह सुनिश्चित करना पड़े कि जब भी आप इंस्टॉल करते हैं कोई भी मॉड्यूल जिसे आप पहली बार cmd में निर्देशिका बदलते हैं और वहां "एबीसी" में पहुंचते हैं। यह भी सुनिश्चित करें कि आपके पास PATH चर में वर्णित "एबीसी" का पथ है। –

8

धन्यवाद: या तो नीचे की तरह विश्व स्तर पर स्थापित:

npm install -g socket.io

या स्थान का संदर्भ आप के लिए स्थापित किया है! आप सरल उपयोग

sudo npm install socket.io 

स्थापना पथ हो जाएगा

/home/.../.npm/socket.io 

आप का उपयोग करते हैं sudo NPM जी socket.io

स्थापित मामले में -

बस जवाब में जोड़ने के लिए

स्थापना पथ

/usr/local/lib/node_modules/socket.io 
होगा

पहले मामले में, मैंने वैश्विक पथ चर में socket.io पथ जोड़ने का प्रयास किया लेकिन यह काम नहीं किया।

4

मुझे विंडोज़ पर संस्करण 0.12.0 के साथ एक ही समस्या थी। मैंने npm install -g socket.io की कोशिश की लेकिन उसने कुछ भी नहीं बदला। एनपीएम कैश क्लीन भी कोई बदलाव नहीं आया, लेकिन एनपीएम अपडेट npm -g, चीजें अच्छी हो गईं।

+0

में न भूलें जो वास्तव में विंडोज़ पर मेरे लिए सॉर्ट नहीं करता है लेकिन सुझाव के लिए धन्यवाद! –

1

यह लगभग होता है की तुलना में आप की तरह html फ़ाइलें आप में socket.io प्राप्त करने की कोशिश:

index.html

जहां है:

< script type="text/javascript" src="/socket.io/socket.io.js"></script> 

यह socket.io नहीं मिलेगा क्योंकि आप आपने उस एप्लिकेशन फ़ाइल में मॉड्यूल शुरू नहीं किया है जिसमें

server.js

आप में शामिल करना चाहिए निम्नलिखित लाइनों के बाद server.js में अपने सर्वर शुरू कर दिया:

var io = require('socket.io').listen(server); 

आशा, समय की बचत करेंगे।

संबंधित मुद्दे