使用Heroku部署NestJS应用时出现Nx模块未找到错误
解决Heroku上Nx工作区构建报错「Could not find Nx modules in this workspace」
针对你遇到的问题,给你几个可行的解决方向:
确保Nx核心依赖在生产依赖中
Heroku默认会在生产环境跳过devDependencies的安装,如果你的@nx/workspace、@nx/nest等Nx相关包只放在devDependencies里,Heroku构建时就找不到这些模块。要么把这些依赖移到dependencies字段,要么修改heroku-prebuild脚本,强制安装开发依赖:"heroku-prebuild": "npm install --include=dev && npm run build:prod"用npx执行Nx命令
本地可能全局安装了Nx,但Heroku环境没有全局Nx,直接跑nx build会调用不到项目本地的Nx包。修改build:prod脚本,用npx指定使用项目内的Nx:"build:prod": "npx nx build my-node-app --configuration production"检查Nx配置文件是否已提交
确认根目录的nx.json、workspace.json(或project.json)这些Nx工作区必备配置文件已经提交到Git仓库,Heroku拉取代码时需要这些文件来识别Nx工作区结构。验证工作区目录上下文
确保Heroku的构建命令是在Nx工作区的根目录执行的,如果你的项目有子目录结构,可能需要调整构建脚本的执行路径,不过大多数情况下默认根目录没问题。
内容的提问来源于stack exchange,提问作者Sebastian Denis
相关产品推荐
相关产品推荐

