rbuy和Devkit都是官网下载的,DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe,Ruby 2.3.3 (x64) ,更换gem镜像时,一直报错,提示我文件打开太多,ERROR: While executing gem ... (Errno::EMFILE)Too many open files - socket(2) - udp,百度也搜到的都是Linux系统的,没window系统的解决办法
gem镜像无法更换,提示我文件打开太多,系统是win10
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
你知我知皆知 2024-08-07 17:50关注以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
这个问题可能是因为你的Windows环境中的
emalloc进程数限制了你能够同时运行的Gems的数量。这通常在安装Ruby Gems时被设置。以下是一些可能导致这种情况的原因:
-
emalloc进程数限制:这是Windows操作系统的一个问题。如果你的电脑上安装了多个应用程序或服务,可能会导致emalloc进程数受限。你可以尝试通过任务管理器来查看并调整这些限制。 -
emalloc线程数限制:如果这个限制没有影响到你,那么可能是由于emalloc线程数限制导致的。你可以通过修改emalloc的配置文件(通常是/proc/sys/kernel/mm-per-process)来增加emalloc线程数。
以下是修复此问题的方法:
-
修改
/etc/security/limits.conf文件,添加以下行:soft nofile 50000 hard nofile 50000这将允许每个进程有50,000个软链接和硬链接。
-
如果你想要更严格的限制,可以使用
emalloc的soft_nofile和hard_nofile选项:emalloc soft_nofile 50000 emalloc hard_nofile 50000 -
重启你的Windows计算机以使更改生效。
-
在重新启动后,再次检查是否有新的错误消息。
注意:以上步骤仅适用于Windows环境。对于其他平台,请查阅相应文档或联系支持团队获取帮助。
解决 无用评论 打赏 举报-