配置SourceTree与Husky时提交报错:yarn命令未找到
解决SourceTree + Husky提交时yarn命令找不到的问题
报错核心原因:SourceTree执行提交钩子时的PATH环境变量未包含yarn的安装路径,导致husky的pre-commit钩子无法找到yarn命令。
以下是三种可行的解决办法:
方案一:在SourceTree中配置自定义PATH
- 打开SourceTree,点击顶部菜单栏的
SourceTree->Settings(偏好设置) - 切换到
Git标签页,找到Custom Path区域 - 在
PATH输入框中添加yarn的实际安装路径(可在终端执行which yarn获取路径),比如/usr/local/bin - 保存设置后重新尝试提交
- 打开SourceTree,点击顶部菜单栏的
方案二:修改husky钩子中的yarn路径为绝对路径
- 打开项目根目录下的
.husky/pre-commit文件 - 将文件中所有的
yarn命令替换为终端which yarn输出的绝对路径,例如把yarn lint改为/usr/local/bin/yarn lint - 保存文件后重新执行提交操作
- 打开项目根目录下的
方案三:通过终端启动SourceTree继承系统PATH
- 关闭所有已打开的SourceTree窗口
- 打开终端,执行命令:
open -a SourceTree - 在通过该方式启动的SourceTree中进行提交,会自动继承终端的完整PATH环境变量,包含yarn的路径
内容的提问来源于stack exchange,提问作者Nilton Schumacher F
相关产品推荐
相关产品推荐

