【问题标题】:sh: husky: command not foundsh: husky: 找不到命令
【发布时间】:2021-07-07 20:46:12
【问题描述】:

我已经用 husky 设置了一个节点项目,但是当我的同事尝试在他的 Mac 上运行 npm install 时,他收到以下错误:

noa-be@1.0.0 prepare
husky install

sh: husky: command not found
npm ERR! code 127
npm ERR! path /Users/X/Desktop/Workspace/project
npm ERR! command failed
npm ERR! command sh -c husky install

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/X/.npm/_logs/2021-04-12T13_07_25_842Z-debug.log

这些是相关的 package.json 部分:

{
    "scripts": {
        "prepare": "husky install"
    },
    "devDependencies": {
        "husky": "^5.2.0",
    }
}

我认为在运行npm install 时安装 husky 就足够了,但事实并非如此。我错过了什么?

【问题讨论】:

    标签: node.js npm husky git-husky


    【解决方案1】:

    我相信这可能是特定于版本的问题。安装版本 6,npm i husky@6.0.0 --save-dev,它应该像husky doc 所说的那样工作。

    显然,当我执行npm i husky --save-dev 时,它出于某种奇怪的原因为我安装了"husky": "^0.8.1",给了我完全相同的错误:sh: husky: command not found

    方法一:

    手动更新,在您的package.json

    {
        "scripts": {
            "prepare": "husky install",
            "create-hook": "husky add .husky/pre-commit \"npm test\"",
        }
    }
    
    

    然后,运行npm run prepare && npm run create-hook

    它应该创建带有.pre-commit 文件的.husky 目录。

    方法二:

    npx husky install

    npm set-script prepare "husky install"

    npx husky add .husky/pre-commit "npm test"

    【讨论】:

      【解决方案2】:

      我已经能够通过升级到最新的 Husky 版本(7.0.1,从 5.2.0)来解决这个问题。

      Git 也很有帮助,它告诉我这些文件不是可执行文件。 (Git V 2.24.1)

      所以我给了他们可执行的权限:

      chmod +x PATH_TO_HUSKY_FILE
      

      你需要为每个钩子执行这个命令

      【讨论】:

        【解决方案3】:

        我在同一个问题上苦苦挣扎了好几个小时。最后,我可以通过以下方式安装依赖项并开始处理我的项目:

        1. 暂时从 package.json 文件中删除 "prepare": "husky install" 脚本。
        2. 运行npm i (npm install)。依赖安装成功。
        3. 再次添加您在第 1 步中删除的 "prepare" 脚本。
        4. 再次运行npm i 以安装 husky git 钩子,这样 husky 就可以从现在开始工作了。

        【讨论】:

          猜你喜欢
          • 2019-08-10
          • 2021-11-13
          • 2019-04-19
          • 2013-05-16
          • 2018-08-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多