2012-04-27 57 views
6

我創建僅含有一個單一的代碼行的腳本:process.getuid()不工作在Windows

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

當運行使用命令node filename.js腳本,將發生以下錯誤:

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) 

我在Windows上運行node.js。

+2

單行代碼應該自行運行。你使用什麼版本? – maerics 2012-04-27 19:39:38

+0

我已經下載了最新版本; v0.6.15 – 2012-04-27 19:48:54

+0

我重新檢查了一切,但存在錯誤。它是節點中的錯誤?! – 2012-04-27 19:53:45

回答

8

老問題我知道,但認爲我會整理這件事,任何人都在搜索。

剛剛經歷the docs檢查它似乎是:

注:此功能僅適用於POSIX平臺(即非Windows)

乾杯

約翰

1

由於我在更新[email protected]時遇到了問題,因此這裏提供瞭解決問題的命令:

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

要檢查您的版本算賬:

npm -v 

應該是2.12.1然後。之後,我可以正常運行我的安裝/更新命令。

來源:請參閱Idez在github下的評論。