2012-04-27 20 views
6

Tôi tạo ra một kịch bản chỉ chứa một dòng mã:process.getuid() không làm việc trên Windows

console.log('userid: ' + process.getuid()); 

Khi tôi chạy kịch bản bằng cách sử dụng lệnh node filename.js, lỗi sau xảy ra:

node.js:201 
throw e; // process.nextTick error, or 'error' event on first tick 
^ 
TypeError: Object #<EventEmitter> has no method 'getuid' 
at Object.<anonymous> (c:\PROGRA~1\nodejs\node_modules\mrt\p.js:1:96) 
at Module._compile (module.js:441:26) 
at Object..js (module.js:459:10) 
at Module.load (module.js:348:31) 
at Function._load (module.js:308:12) 
at Array.0 (module.js:479:10) 
at EventEmitter._tickCallback (node.js:192:40) 

Tôi đang chạy node.js trên Windows.

+2

Dòng mã đơn lẻ đó sẽ tự hoạt động tốt. Phiên bản nào bạn đang sử dụng? – maerics

+0

Tôi đã tải xuống phiên bản mới nhất; v0.6.15 –

+0

Tôi kiểm tra lại mọi thứ nhưng lỗi tồn tại. Nó là một lỗi trong nút ?! –

Trả lời

8

Câu hỏi cũ tôi biết nhưng tôi nghĩ rằng tôi sẽ dọn dẹp trường hợp này bất kỳ ai đang tìm kiếm.

Chỉ cần kiểm tra thông qua the docs nó sẽ có vẻ rằng:

Lưu ý: Chức năng này chỉ có sẵn trên nền tảng POSIX (tức là không phải Windows)

Cheers

John

1

Vì tôi đã có vấn đề để cập nhật [email protected], ở đây các lệnh cho phép tôi giải quyết vấn đề:

npm uninstall -g npm 
npm install -g [email protected] 

Để kiểm tra phiên bản của bạn của bạn sau đó:

npm -v 

Nên 2.12.1 rồi. Sau đó tôi có thể chạy các lệnh cài đặt/cập nhật của mình một cách bình thường.

Nguồn: Xem Idez nhận xét dưới github.

Các vấn đề liên quan