一、背景
出于电脑系统升级,或者清理缓存,或者重新安装npm时,会遇到git cz命令失败的情况,而且git cz命令失效后,也不会在终端有任何输出。
二、解决方案
一般都是因为commitizen不存在或者被删除的问题导致的。所以需要根据步骤,一步一步去排查一下。
2.1 确认是否已经全局安装了commitizen:
npm install -g commitizen
2.2 确认是否已经在项目中安装了cz-conventional-changelog:
npm install --save-dev cz-conventional-changelog
2.3 确认package.json中是否有以下配置:
"config": {
"commitizen": {
"path": "node_modules/cz-conventional-changelog"
}
}
2.4 确认是否在命令行中正确使用git cz
。
如果以上步骤都正确无误,尝试删除node_modules
文件夹和package-lock.json
文件,然后重新运行npm install
来重新安装依赖。
如果以上步骤仍然无法解决问题,可能需要检查是否有全局路径问题或者环境变量配置问题。
2.5 尝试使用npx
可以尝试在项目目录中直接使用npx来调用commitizen:
npx commitizen init cz-conventional-changelog --save-dev --save-exact
这条命令会初始化commitizen
并且安装cz-conventional-changelog
作为默认的提交规范。
使用npx
可以直接运行项目中的node_modules
中的二进制文件,而不用全局安装。
但是建议全局安装吧。
希望对大家有帮助。