Ошибка: EMFILE, слишком много соединений

При установке NPM я получаю:

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!     <npm-@googlegroups.com>

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)

Я на оссе. я пробовал 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' }

Любая идея? Огромное спасибо!

1 ответ

На OSX вы должны использовать launchctl,

Чтобы проверить текущий предел:

launchctl limit

Чтобы изменить максимальное количество файлов:

launchctl limit maxfiles 400000 unlimited

Для постоянного изменения настроек /etc/launchd.conf

limit maxfiles  400000           unlimited

(От: http://artur.hefczyc.net/node/27)

Другие вопросы по тегам