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

Node.js编写简单代码触发断言错误的排查求助

Node.js 断言错误:Assertion `(expected_utf16_length) == (utf16_length)' failed.

问题重现代码

var nome = 'Pedro'

var idade = 28

var sexo = 'masc'

nome + ' é do sexo ' + se

触发的错误信息

C:\Program Files\WindowsApps\Microsoft.PowerShell_7.3.6.0_x64__8wekyb3d8bbwe\pwsh.exe[12740]: c:\ws\src\inspector\node_string.cc:49: Assertion `(expected_utf16_length) == (utf16_length)' failed.

 1: 00007FF72674BC8F node_api_throw_syntax_error+203199

 2: 00007FF7266C81D6 v8::base::CPU::num_virtual_address_bits+74438

 3: 00007FF7266C85E2 v8::base::CPU::num_virtual_address_bits+75474

 4: 00007FF726571BCF uv_loop_size+57695

 5: 00007FF72658BFC7 uv_loop_size+165207

 6: 00007FF726589496 uv_loop_size+154150

 7: 00007FF72657CEE7 uv_loop_size+103543

 8: 00007FF7270E7B2E v8::SharedValueConveyor::SharedValueConveyor+416270

 9: 00007FF7270E772A v8::SharedValueConveyor::SharedValueConveyor+415242

10: 00007FF7270E79EF v8::SharedValueConveyor::SharedValueConveyor+415951

11: 00007FF7270E7860 v8::SharedValueConveyor::SharedValueConveyor+415552

12: 00007FF7271E228E v8::PropertyDescriptor::writable+674286

13: 00007FF6A7317277

已尝试的排查步骤

  • 重装Node.js LTS版本
  • 安装Node.js附加工具
  • 更新PowerShell至最新版本
  • 重启计算机

解决建议

这个错误属于V8引擎底层的UTF-16编码断言失败,通常和终端环境的字符处理或Node.js REPL的交互逻辑冲突有关,可尝试以下方案:

  1. 切换终端环境
    改用Windows自带的命令提示符(CMD)或Git Bash等第三方终端,再运行Node.js REPL测试代码。部分场景下PowerShell的字符编码配置会与Node.js的V8引擎产生冲突。

  2. 避免在REPL中输入未完成代码
    先将完整代码写入.js文件,再通过node 文件名.js命令运行。这种方式可绕过REPL实时解析时的编码处理问题。

  3. 调整终端字符编码
    在PowerShell中执行以下命令切换为UTF-8编码,再启动Node.js:

    chcp 65001
    node
    

    该操作让终端编码匹配V8引擎的字符处理逻辑。

  4. 禁用调试检查功能
    启动Node.js时添加--no-inspect参数,避免inspector模块的字符串处理触发断言:

    node --no-inspect
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 00:53:25