蓝戒的博客


解决window下使用cmd运行node安装报错: npm ERR! code EIO

最近在推进多个不同项目中使用nvmw管理不同的node版本,其中有一个项目之前使用对应的node版本npm run dev 和 npm install 都是正常的,切换回项目node版本,再次使用npm run dev 时却报错:

npm ERR! code EIO
npm ERR! errno -4070
npm ERR! syscall read
npm ERR! EIO: i/o error, read 

经过查询资料了解到是因为windows的cmd 系统编码问题,在Windows命令提示符中存在Unicode支持,使用代码页65001,无法让npm安装,因此出现上述错误。


参考问题解决方案:

I have just been playing with Unicode support in Windows command prompt, using the code-page 65001 I can't get npm to install, giving me the above error. Changing the code-page to 850 chcp 850 and running the exact same npm command it then works fine.
Thus your problem could very well be related to the encoding your environment is in.

解决方法:

打开cmd,输入chcp 850 ,然后重新运行程序即可。

同类问题,nodejs的中文报错:

Error: write EIO

解决方法:

重新打开cmd,输入chcp 936。然后重新运行程序即可

最终问题得以解决,回顾以上问题产生的原因,想到最近使用electron开发桌面程序应用调用通过集成的require('child_process').ex-ec (系统关键词拦截,-字符为绕过添加的)执行cmd终端命令,对字符处理安装过一个iconv-lite 插件用来编码处理,极有可能是安装这个导致的此问题。通过写出此次问题的解决方法,仅供遇到同类问题的小伙伴们参考。


参考文档:

https://stackoverflow.com/questions/17035399/why-this-error-happend-nodejs-error-write-eio

http://blog.51cto.com/liusw94/1722733

本文固定链接: http://www.webzsky.com/?p=1352 | 蓝戒的博客

cywcd
该日志由 cywcd 于2018年11月27日发表在 javascript 分类下, 通告目前不可用,你可以至底部留下评论。
原创文章转载请注明: 解决window下使用cmd运行node安装报错: npm ERR! code EIO | 蓝戒的博客
关键字: , ,

解决window下使用cmd运行node安装报错: npm ERR! code EIO:等您坐沙发呢!

发表评论


快捷键:Ctrl+Enter
来自的朋友,欢迎您 点击这里 订阅我的博客 o(∩_∩)o~~~
×