使用Nx生成Next.js应用时缺失模块的问题求助
解决Nx Monorepo生成Next.js应用时“Cannot find module 'nx/src/utils/code-frames'”错误
可行解决步骤
检查依赖版本一致性
这个错误大概率是@nrwl/next和核心nx包版本不匹配导致的。执行以下命令查看版本:yarn list nx @nrwl/next如果两个包版本不一致,卸载现有
@nrwl/next并安装与nx同版本的包:yarn remove -D @nrwl/next yarn add -D @nrwl/next@<你的nx版本号>比如你的
nx是16.8.1,就执行yarn add -D @nrwl/next@16.8.1清理依赖并重新安装
依赖缓存损坏也可能引发这类模块找不到的问题:# 清理依赖和锁文件(Mac/Linux) rm -rf node_modules yarn.lock # Windows系统执行: # rmdir /s /q node_modules && del yarn.lock # 重新安装依赖 yarn install重置Nx缓存
Nx的本地缓存可能存在异常,执行重置命令:yarn nx reset重置完成后再次尝试生成应用。
直接指定Next.js生成器
避免默认生成器的潜在问题,直接调用@nrwl/next的生成器命令:yarn nx g @nrwl/next:app myapp --directory=testing --style=scss检查全局Nx CLI版本
确保全局安装的Nx CLI版本和项目本地版本一致:nx --version yarn nx --version如果版本不一致,更新全局CLI或者始终使用项目本地的
yarn nx命令执行操作。
额外排查点
如果以上步骤都无效,检查项目根目录的nx.json或workspace.json是否有自定义配置修改了Nx的模块路径,或者是否存在第三方Nx插件干扰了生成流程。
内容的提问来源于stack exchange,提问作者Khant Min Si Thu
相关产品推荐
相关产品推荐

