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

NextJS 12运行npm run dev报错ReferenceError: TextEncoder is not defined如何解决

问题原因

ReferenceError: TextEncoder is not defined报错是因为当前Node.js版本过低,不满足Next.js 12的最低运行要求。Next.js 12要求Node.js版本≥12.22.0,推荐使用处于维护期内的LTS版本(14.x、16.x或更高)。

解决方案

推荐方案(永久解决)

  • 首先查看当前Node.js版本,执行命令:
    node -v
  • 如果返回的版本号低于12.22.0,升级Node.js即可,推荐使用nvm管理Node版本,避免多版本冲突和权限问题:
    • 安装最新LTS版本Node.js:nvm install --lts
    • 切换到刚安装的LTS版本:nvm use --lts
    • 可设置为全局默认版本:nvm alias default --lts
  • 升级完成后,删除项目旧依赖和锁文件,重新安装:
    rm -rf node_modules package-lock.json
    npm install
    
  • 重新执行npm run dev即可正常启动项目。

临时兼容方案(不推荐)

如果暂时无法升级Node.js版本,可以在项目根目录的next.config.js文件顶部添加如下代码,手动注入全局TextEncoder:

const { TextEncoder, TextDecoder } = require('util');
global.TextEncoder = TextEncoder;
global.TextDecoder = TextDecoder;

该方案仅做临时兼容,低版本Node.js后续还可能出现其他和Next.js 12不兼容的问题,建议优先升级Node.js版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 17:06:03