我们的团队在尝试使用 Heroku CLI 部署到生产环境时遇到错误

问题描述 投票:0回答:1

我们已经尝试解决这个问题有一段时间了,但没有找到有效的解决方案,因此我们想在这里分享部分控制台输出:

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! [email protected] heroku-prebuild: `npm i -f`
remote: npm ERR! spawn ENOENT
remote: npm ERR! 
remote: npm ERR! Failed at the [email protected] heroku-prebuild script.
remote: npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
remote:

如有任何其他见解,我们将不胜感激。

node.js heroku npm
1个回答
3
投票

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

  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
    devDependencies
    移至
    dependencies
© www.soinside.com 2019 - 2024. All rights reserved.