我目前使用
例如:
与
git
来部署一个项目,并且我想知道如何让像npm
和gulp
这样的工具输出的结果能够以与在本地使用这些工具时相同的方式呈现出颜色?例如:
![enter image description here](https://istack.dev59.com/AgLD5.webp)
![enter image description here](https://istack.dev59.com/iy54p.webp)
TERM
环境变量。在每个钩子脚本的开头使用export TERM=xterm
(或export TERM=xterm-color
)。npm
或git
这样的unix工具只有在它们检测到它们所在的终端能够改变颜色时才会生成带有额外转义序列的彩色输出。终端能力是通过环境变量TERM
定义的。普通的交互式SSH会话可以将TERM
值传输到远程端(参见Can I forward env variables over ssh?),但非交互式会话通常不会这样做,非交互式会话可能以无TTY模式运行。您可以强制使用特定工具的颜色(例如通过配置的npm)或正确配置TERM环境变量。git config --global color.ui auto
这应该能够给你颜色
对于使用基于nodejs的项目,似乎git钩子的彩色输出问题是由于git默认不支持“tty”而运行钩子所导致的。
这会导致一些工具认为终端不支持颜色。
例如,如此讨论https://github.com/okonet/lint-staged/issues/693
如果您正在使用基于node的工具,则可以通过在钩子脚本中添加export FORCE_COLOR=1
来解决问题。这将修复所有基于此库的工具:https://www.npmjs.com/package/supports-color