首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >什么是node.js中的"EIO: i/o错误,写“以及如何消除它?

什么是node.js中的"EIO: i/o错误,写“以及如何消除它?
EN

Stack Overflow用户
提问于 2020-05-25 07:51:05
回答 2查看 5.9K关注 0票数 3

我有一个使用elasticsearch收集错误数据并通知相关堆栈持有者的node.js应用程序。它最近开始给我带来错误(代码没有做任何修改):

代码语言:javascript
运行
复制
write EIO
Error: write EIO
    at afterWriteDispatched (internal/stream_base_commons.js:154:25)
    at writeGeneric (internal/stream_base_commons.js:145:3)
    at WriteStream.Socket._writeGeneric (net.js:783:11)
    at WriteStream.Socket._write (net.js:795:8)
    at doWrite (_stream_writable.js:385:12)
    at writeOrBuffer (_stream_writable.js:367:5)
    at WriteStream.Writable.write (_stream_writable.js:307:12)
    at Stdio.write (/project/node_modules/elasticsearch/src/lib/loggers/stdio.js:58:6)
    at Stdio.onError (/project/node_modules/elasticsearch/src/lib/loggers/stdio.js:70:8)
    at Log.wrapper (/project/node_modules/lodash/lodash.js:4929:19)
    at Log.emit (events.js:315:20)
    at Log.error (/project/node_modules/elasticsearch/src/lib/log.js:239:17)
    at checkRespForFailure (/project/node_modules/elasticsearch/src/lib/transport.js:298:18)
    at HttpConnector.<anonymous> (/project/node_modules/elasticsearch/src/lib/connectors/http.js:171:7)
    at ClientRequest.wrapper (/project/node_modules/lodash/lodash.js:4929:19)
    at ClientRequest.emit (events.js:315:20)

我怀疑这与磁盘上某种类型的I/O错误有关。我能做些什么来消除错误?我正在使用Node.js v14.0.0和elasticsearch (npm ) 16.7.1。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-28 02:49:36

这是ElasticSearch的日志特性中的一个bug,因为它是同步写入stdio的。我们要么关闭日志,要么使用第三方记录器。

票数 0
EN

Stack Overflow用户

发布于 2020-05-25 09:25:16

造成这种情况的原因有多种:

  • 如果您使用的是Windows很可能是一个unicode问题,您可以通过执行像这样的chp命令 chcp 850来解决,但是如果您需要Unicode字符,那么凹凸棒模块应该会有所帮助。
  • 当试图写入闭路终端
  • 磁盘相关问题,就像磁盘已满或操作系统问题.当试图写入输出时
  • 尝试将模块重新安装到最新版本,从头开始,因为您可能使用的是一个buggy模块,或者它没有正确安装。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61998022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档