मेरा सर्वर नोड.जेएस, एनपीएम, और सॉकेट.ओ के पहले संस्करण के साथ काम कर रहा था लेकिन अपडेट करने के बाद मुझे सॉकेट.ओ:त्रुटि: मॉड्यूल नहीं मिल सकता है ./lib/socket.io '
के साथ समस्याएं शुरू हुईं$ node server.js
node.js:237
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Cannot find module './lib/socket.io'
at Function._resolveFilename (module.js:333:15)
at Function._load (module.js:280:25)
at Module.require (module.js:357:17)
at require (module.js:373:17)
at Object.<anonymous> (/usr/local/lib/node_modules/socket.io/index.js:8:18)
at Module._compile (module.js:444:26)
at Object..js (module.js:462:10)
at Module.load (module.js:351:32)
at Function._load (module.js:309:12)
at Module.require (module.js:357:17)
अपग्रेड करने से पहले मेरे पास sode.io के लिए एक symlink था जो node_modules के तहत एक ही नाम के साथ "केंद्रीय रूप से स्थापित" निर्देशिका को इंगित करता है। हाल ही में मैं आदेश जारी करके अपने प्रोजेक्ट के लिए socket.io स्थानीय स्थापित करने की कोशिश की:
npm install socket.io
जो अपने प्रोजेक्ट में node_modules तहत socket.io रखा। मुझे पहले यह अजीब लगा कि त्रुटि संदेश "./lib/socket.io" कह रहा था, लेकिन जब मैंने इसे देखा तो मैंने पाया कि प्रोजेक्ट/node_modules/socket.io/index.js को सॉकेट की आवश्यकता है। इस तरह:
module.exports = require('./lib/socket.io');
लेकिन कुछ भी नहीं परिवहन को छोड़कर वहाँ है:
...project/node_modules/socket.io/lib
$ ll
total 24
drwxrwxr-x 3 ghbarratt dev 4096 Mar 26 14:38 .
drwxrwxr-x 5 ghbarratt dev 4096 Mar 26 15:03 ..
-rw-rw-r-- 1 ghbarratt dev 10777 Mar 6 16:37 transport.js
drwxrwxr-x 3 ghbarratt dev 4096 Mar 26 14:38 transports
एक और socket.io निर्देशिका वहाँ होना चाहिए या lib के तहत एक socket.io.js फ़ाइल? Index.js को एक आंतरिक फ़ाइल की आवश्यकता क्यों होगी जो अनुपलब्ध प्रतीत होता है?
संस्करण:
node -v
v0.7.7-pre
npm -v
1.1.12
[email protected]
Distributor ID: Ubuntu
Description: Ubuntu 10.10
Release: 10.10
Codename: maverick
'node_modules/socket.io/lib /' में 'socket.io.js' सहित कई जेएस फाइलें होनी चाहिए। या कम से कम मेरा करता है (नोड 0.6.5, एनपीएम 1.1.0, socket.io 0.9.2)। –
@ फ़ेलिक्स लोदर - पुष्टि के लिए धन्यवाद। अब मुझे यह पता लगाने की ज़रूरत है कि मुझे उन सभी फाइलें क्यों नहीं मिलीं जो मुझे चाहिए। उद्धरण 'एनपीएम कैश क्लीन' के लिए – ghbarratt