Heroku部署React项目报错找不到eslint-plugin-prettier如何解决
问题根因
Heroku 生产环境默认仅安装 package.json 中 dependencies 字段下的依赖,不会安装 devDependencies 里的开发依赖。你项目中 eslint 配置引用了 prettier 相关的校验插件,这些插件都放在 devDependencies 中,构建阶段 React 脚本会读取 eslint 配置执行校验,找不到对应依赖就会触发编译失败。
解决方案
方案1:生产构建禁用eslint校验(推荐)
生产构建只需要产出可运行的代码,不需要执行代码风格校验,你可以在 Heroku 环境变量中添加 DISABLE_ESLINT_PLUGIN=true 即可。
操作路径:进入Heroku对应应用后台 → Settings → Config Vars → 新增变量,键为 DISABLE_ESLINT_PLUGIN,值为 true,保存后重新部署即可。
方案2:配置Heroku安装全量依赖
如果你需要在生产构建阶段执行eslint校验,可以配置Heroku安装开发依赖:
在 Heroku 环境变量中新增 NPM_CONFIG_PRODUCTION=false(使用npm的场景),如果使用yarn则新增 YARN_PRODUCTION=false,保存后重新部署即可。
方案3:移动相关依赖到生产依赖
将以下包从 devDependencies 移动到 dependencies 中,提交代码后重新部署即可:
eslinteslint-plugin-prettiereslint-config-prettierprettier
内容的提问来源于stack exchange,提问作者Elham Fadel
相关产品推荐
相关产品推荐

