You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows10环境下lint-staged执行报错时中文乱码的原因排查

问题排查:lint-staged运行报错及中文乱码问题

环境

  • Windows 10
  • Node.js v20.10.0

问题描述

未全局安装prettier时,运行lint-staged控制台报错,且错误信息出现中文乱码。

package.json配置

"devDependencies": {
    "lint-staged": "^15.2.0",
},
"lint-staged": {
    "src/routes/*.{ts,tsx,js,jsx}": [
      "yarn prettiered"
    ]
  }

控制台错误信息

乱码原文

'prettier' �����ڲ����ⲿ���Ҳ���ǿ����еij���
�����������

还原后的正常中文提示

'prettier' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

乱码原因分析

  • 编码不匹配:Windows控制台默认编码为GBK(或GB2312),但Node.js子进程输出默认采用UTF-8编码,两者编码标准不一致,导致系统返回的中文错误提示无法正常解析,出现乱码。
  • 命令错误触发系统级提示:配置中写的yarn prettiered是错误命令(正确应为yarn prettier),本地未全局安装prettier时,系统会抛出中文错误提示,而该提示的编码与Node子进程输出编码不兼容,进而引发乱码。如果命令正确,yarn会调用本地node_modules中的prettier,不会触发系统级错误,乱码问题也不会出现。
  • 控制台编码配置异常:若手动修改过控制台编码为UTF-8,系统原生的GBK编码错误提示就会显示乱码;反之控制台为GBK编码时,Node子进程输出的UTF-8内容也会出现乱码。

内容的提问来源于stack exchange,提问作者go atm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 09:24:54