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

NextJS执行npm run dev时出现Cannot read properties of undefined (reading 'pop')错误

解决NextJS编译报错"Cannot read properties of undefined (reading 'pop')"的方案

问题背景

闲置仓库数周后执行npm run dev启动NextJS应用时出现编译失败,报错指向style.scss文件的loader处理链,移除该文件后问题消失但丢失样式。已尝试更新依赖、重装Node.js(版本21.0.0),问题仍存在。

可行解决步骤

1. 移除next.config.js中的自定义CSS拆分配置

Next.js内置了成熟的CSS资源处理逻辑,自定义的splitChunks.cacheGroups规则可能与内置的CSS loader链冲突,导致loader运行时出现未定义对象调用pop的错误。

修改后的next.config.js:

/** @type {import('next').NextConfig} */
const nextConfig = {
  reactStrictMode: true
}

module.exports = nextConfig

2. 彻底清理缓存并重新安装依赖

缓存文件或损坏的依赖可能导致加载异常,执行以下命令:

  • 删除依赖目录和锁文件:
    rm -rf node_modules package-lock.json
    
  • 清理Next.js构建缓存:
    rm -rf .next
    
  • 重新安装依赖并启动:
    npm install
    npm run dev
    

3. 降级Node.js到LTS版本

Node.js 21为非长期支持版本,可能与Next.js及其依赖存在兼容性问题,建议切换到v18或v20 LTS版本:

  • 使用nvm切换版本(需先安装nvm):
    nvm install 20
    nvm use 20
    
  • 重复步骤2的清理和重装操作后启动应用。

4. 检查style.scss的导入路径

即使未手动修改文件,闲置期间依赖包结构变化可能导致@import路径失效,检查文件内所有导入语句,确保引用的文件路径正确,无不存在的资源。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 17:30:33