我已经设置了一个节点项目与husky,但当我的同事试图运行npm install
在他的Mac上,他得到以下错误:
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",
}
}
我以为这就足够husky在运行npm install
的时候安装了,但事实并非如此,我错过了什么?
9条答案
按热度按时间swvgeqrz1#
如果您使用的是
nvm
,则可能需要在home
目录中创建一个名为.huskyrc
的文件,并向其中添加以下代码行:~/.huskyrc
b4wnujal2#
我为同样的问题纠结了几个小时。最后,我可以安装依赖项,并通过这样做开始我的项目工作:
1.暂时从package.json文件中删除
"prepare": "husky install"
脚本。1.运行
npm i
(npm install
)。已成功安装依赖项。1.再次添加在步骤1中删除的
"prepare"
脚本。1.再次运行
npm i
来安装husky git钩子,这样husky就可以从现在开始做它的工作了。am46iovg3#
我已经能够通过升级到最新的哈士奇版本(7.0.1,从5.2.0)解决这个问题。
Git也很有帮助,告诉我这些文件不是可执行文件。
所以我给予他们可执行权限:
您需要为每个钩子执行此命令
tquggr8v4#
我相信这可能是版本特定的问题。安装版本6,
npm i husky@6.0.0 --save-dev
,它应该像husky文档所说的那样工作。显然,当我运行
npm i husky --save-dev
时,它出于某种奇怪的原因为我安装了"husky": "^0.8.1"
,给了我完全相同的错误:sh: husky: command not found
.方法1:
在
package.json
中手动更新:然后,运行
npm run prepare && npm run create-hook
。应创建
.husky
目录,其中包含.pre-commit
文件。方法二:
npx husky install
npm set-script prepare "husky install"
npx husky add .husky/pre-commit "npm test"
bqucvtff5#
如果
NODE_ENV
设置为“生产”预安装,npm ci
也会引发此错误dxpyg8gm6#
它在我的终端中工作,但在VSCode版本控制中不工作。所以不得不强制相当的VSCode应用程序并重新启动它工作。
lf5gs5x27#
在
Github Desktop
中遇到此问题。通过退出
Github Desktop
并重新打开它来解决此问题。2mbi3lxu8#
我通过提供husky的确切位置解决了这个问题
htrmnn0y9#
Using Lerna的第一个字符
当我把husky从版本4升级到版本8时,有一些信息需要手动进行第一次预提交。为此,在
.husky
目录中生成了pre-commit
bash脚本。我所要做的只是运行包含在此文件中的命令: