我正在尝试运行npm install bitgo
命令,但在终端上出现以下错误,
npm ERR! code EMFILE
npm ERR! syscall spawn git
npm ERR! path git
npm ERR! errno EMFILE
npm ERR! spawn git EMFILE
npm ERR! A complete log of this run can be found in:
npm ERR! /home/root/.npm/_logs/2021-02-10T04_10_05_236Z-debug.log
您可以从这里查看完整的日志:https://textbin.cc/raw/MRAdqetnCx
我试了npm install
, git已经安装了。当我运行git ---version
它返回git version 2.24.1
也试过npm install js-beautify@1.6.14
node.js version: v10.22.0
npm version: 6.14.6
如何解决这个问题?
EMFILE
表示打开的文件太多。该进程正在尝试打开超过系统允许的文件。在类unix操作系统(您似乎正在使用)上,您可以使用ulimit -Sn
检查限制(用于"软件")。limit)和ulimit -Hn
(用于"hard"限制)。
如何永久增加打开文件的限制可能会有所不同。但是你可以试着暂时这样做:
- 获取当前设置。
ulimit -Sn
会告诉你软限制。ulimit -Hn
会告诉你硬限制。 - 增加软限制。如果它是
128
,并且硬限制是unlimited
或大于256
,那么尝试ulimit -Sn 256
不是所有的系统都允许在没有root权限的情况下增加这些限制,但是很多系统都允许。如果这不起作用,您可能需要查看如何在您的系统上执行此操作。