我们已经尝试解决这个问题一段时间了,但没有找到一个解决方案,所以我们想在这里分享部分控制台输出:
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:
如果有任何其他的见解,欢迎。
对于我来说,问题是以下内容的组合:
husky
在我的package.json
中的devDependencies
键下。- 服务器有以下环境参数:
NODE_ENV=production
,这导致npm install
只安装dependencies
下的所有内容,忽略devDependencies
,因此没有安装husky
。 - 在
package.json
的scripts
键下,我有以下键值对:"prepare": "husky install"
。成功执行npm install
后,prepare
脚本将自动运行。你所描述的问题是因为没有安装husky
,所以prepare
脚本失败。
解决方案:
- 安装
devDependencies
。一种方法是:npm install --include dev
. - 将
husky
从devDependencies
移至dependencies
。