常见问题
Error: require() of ES Module ... not supported
- 如果你是 ESM 项目 (即 package.json 中有
"type": "module"
)- 可以尝试更改 配置名
.js
=>.cjs
- 可以尝试更改 配置名
- 如果你使用了 commitlint 版本(> 18)
- 例如配置
extends: ['@commitlint/config-conventional']
- 请升级 cz-git 或 czg 到最新版本
- 例如配置
可以自定义消息格式吗
- 配置总含有大部分消息格式的微调需求,例如 emojiAlign 更换 emoji 位置
- formatMessageCB: 是最终格式回调函数,你可以配置它来达到你需求的消息格式
配置加载不符合预期
可以运行命令查看配置加载的路径
sh
# commitizen cli
CZ_DEBUG=1 cz
# czg cli
CZ_DEBUG=1 czg
# commitizen cli
CZ_DEBUG=1 cz
# czg cli
CZ_DEBUG=1 czg
githooks 模式下打开了像 vim
的编辑器
在使用
prepare-commit-msg
hook 中会在消息合并后使用 editor => githooks 命令手册
- 将 git 配置中的 editor 从默认
vi
改为cat
并尝试shgit config --local core.editor cat
git config --local core.editor cat
- 添加 packages scripts 初始化脚本
prepare
or pnpm'spostinstall
, 帮助其他贡献者进行初始化diff{ "scripts": { - "prepare": "husky install" + "prepare": "husky install && git config --local core.editor cat" } }
{ "scripts": { - "prepare": "husky install" + "prepare": "husky install && git config --local core.editor cat" } }
修改在确认是否提交时 (Yneh),选择编辑时所使用的编辑器 (EDITOR)
这里以 VSCode 的
code --wait
命令为例
cz-git|czg: v >= 1.10.0CZ_EDITOR
, v < 1.10.0EDITOR
||VISUAL
.
sh
export CZ_EDITOR="code --wait"
export CZ_EDITOR="code --wait"
json
{
"scripts": {
"commit": "cross-env CZ_EDITOR='code --wait' cz"
}
}
{
"scripts": {
"commit": "cross-env CZ_EDITOR='code --wait' cz"
}
}
全局安装后无法找到命令
- 输入命令
npm prefix -g
查看当中 npm 全局下载的 bin 文件夹路径是否添加到系统环境变量$PATH
- 大概率是因为使用 nvm 更改了 npm 的全局下载路径前缀,但系统环境变量没有记录
终端无法显示 Emoji 符号
- 终端无法显示 Emoji 符号,大概率是因为你的终端对于 emoji/unicode 字符支持较差,但是不影响提交,因为最终输出提交的是 Emoji Code,可以考虑更换终端以及终端设置使用的字体
cz-git
和 czg
有什么不同
可以查看更多信息 czg 的动机
- 如果你使用
cz
或git cz
命令将会启动commitizen
CLI +cz-git
适配器 - 如果你使用
czg
或git czg
命令只会启动czg
CLI