2013-03-03 51 views
0

在NPM安裝,我得到:錯誤:EMFILE,過多的連接

npm http 304 https://registry.npmjs.org/grunt-contrib-uglify 
npm http 304 https://registry.npmjs.org/grunt-contrib-qunit 
npm ERR! TypeError: Bad argument 
npm ERR!  at Object.fs.close (fs.js:306:11) 
npm ERR!  at Object.fs.close (/usr/local/Cellar/node/0.8.21/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:92:17) 
npm ERR!  at null.<anonymous> (/usr/local/Cellar/node/0.8.21/lib/node_modules/npm/lib/utils/fetch.js:31:8) 
npm ERR!  at EventEmitter.emit (events.js:96:17) 
npm ERR!  at emit (fs.js:1500:14) 
npm ERR!  at WriteStream.flush (fs.js:1504:9) 
npm ERR!  at Object.oncomplete (fs.js:297:15) 
npm ERR! If you need help, you may report this log at: 
npm ERR!  <http://github.com/isaacs/npm/issues> 
npm ERR! or email it to: 
npm ERR!  <[email protected]> 

npm ERR! System Darwin 12.2.0 
npm ERR! command "/usr/local/Cellar/node/0.8.21/bin/node" "/usr/local/bin/npm" "install" 

/usr/local/Cellar/node/0.8.21/lib/node_modules/npm/lib/utils/error-handler.js:247 
    log.error("cwd", process.cwd()) 
         ^
Error: EMFILE, too many open files 
    at process.errorHandler (/usr/local/Cellar/node/0.8.21/lib/node_modules/npm/lib/utils/error-handler.js:247:28) 
    at process.EventEmitter.emit (events.js:126:20) 

我在OSX。我已經試過sudo ulimit -n 10480它說:

$ ulimit 
unlimited 

運行NPM版本:

{ http_parser: '1.0', 
    node: '0.8.21', 
    v8: '3.11.10.25', 
    ares: '1.7.5-DEV', 
    uv: '0.8', 
    zlib: '1.2.3', 
    openssl: '1.0.0f', 
    npm: '1.2.11', 
    shopper4: '0.1.0' } 

任何想法?謝謝一堆!

回答

0

在OSX上,您應該使用launchctl

檢查電流限制:

launchctl limit 

要更改文件的最大數量:

launchctl limit maxfiles 400000 unlimited 

要更改設置永久編輯/etc/launchd.conf

limit maxfiles 400000   unlimited 

(來源:http://artur.hefczyc.net/node/27