Tôi đã có máy chủ của mình làm việc với phiên bản trước đó của node.js, npm và socket.io nhưng sau khi cập nhật, tôi đã bắt đầu gặp sự cố với socket.io:Lỗi: Không thể tìm thấy mô-đun './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)
Trước khi nâng cấp, tôi có một liên kết tượng trưng cho socket.io dưới node_modules trỏ đến thư mục "được cài đặt tập trung" có cùng tên. Gần đây tôi đã thử cài đặt socket.io cục bộ vào dự án của tôi bằng cách đưa ra lệnh:
npm install socket.io
đặt socket.io dưới node_modules trong dự án của tôi. Ban đầu tôi thấy lạ khi thông báo lỗi nói "./lib/socket.io" nhưng khi tôi nhìn vào nó, tôi thấy rằng project/node_modules/socket.io/index.js đang yêu cầu socket.io như sau:
module.exports = require('./lib/socket.io');
Nhưng không có gì là có trừ vận chuyển:
...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
Nếu có thư mục socket.io khác hoặc một tập tin socket.io.js dưới lib? Tại sao index.js lại yêu cầu tệp nội bộ bị thiếu?
phiên bản:
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 /' nên có một số tệp JS bên trong nó, bao gồm 'socket.io.js'. Hoặc ít nhất là của tôi (nút 0.6.5, npm 1.1.0, socket.io 0.9.2). –
@Felix Loether - Cảm ơn bạn đã xác nhận. Bây giờ tôi cần phải tìm ra lý do tại sao tôi không nhận được tất cả các tập tin tôi cần phải có. – ghbarratt