首页 > 解决方案 > 我们的团队在尝试使用 Heroku CLI 部署到生产环境时遇到错误

问题描述

我们一直在尝试解决此问题,但没有找到可行的解决方案,因此我们想在此处分享部分控制台输出:

remote:    > husky install
remote:     
remote: sh: 1: husky: not found
remote: npm ERR! code 127
remote: npm ERR! path /tmp/build_157848d1
remote: npm ERR! command failed
remote: npm ERR! command sh -c husky install
remote: 
remote: npm ERR! A complete log of this run can be found in:
remote: npm ERR!   /tmp/npmcache.seRIW/_logs/2021-09-25T00_40_22_168Z-debug.log
remote: npm ERR! code ELIFECYCLE
remote: npm ERR! syscall spawn
remote: npm ERR! file sh
remote: npm ERR! errno ENOENT
remote: npm ERR! test@1.0.0 heroku-prebuild: `npm i -f`
remote: npm ERR! spawn ENOENT
remote: npm ERR! 
remote: npm ERR! Failed at the test@1.0.0 heroku-prebuild script.
remote: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
remote:

任何额外的见解表示赞赏。

标签: node.jsherokunpm

解决方案


对我来说,问题是以下组合:

  1. husky在我的devDependencies钥匙下package.json
  2. 服务器具有以下环境参数:NODE_ENV=production,这导致npm install仅在dependencies、 忽略下安装所有内容devDependencies,因此husky未安装。
  3. 在 中的scripts键下package.json,我有以下键值对:"prepare": "husky install". 脚本在prepare成功后自动运行npm install。您描述的问题是因为husky未安装而发生的,因此prepare脚本失败。

解决方案:

  1. 也安装devDependencies。一种方法是:npm install --include dev.
  2. husky从移动devDependenciesdependencies

推荐阅读