lew*_*lbr 7 githooks node.js docker husky git-husky
使用 Docker,当容器中有 Node.js 而本地机器上没有 Node.js 时,我试图让 Husky 工作。
因为它将用 git 命令触发,这里的信息是:“如果你在终端中运行 git 命令,husky 将使用你的 shell 中定义的版本PATH”,另一个:“~/.huskyrc如果存在,Husky 将使用源文件在运行钩子脚本之前。例如,您可以使用它来加载节点版本管理器或在钩子之前运行一些 shell 命令。”
诸如更改PATH以便它指向容器中的 Node.js 之类的事情是否可以成为解决方案?如果是这样,怎么办?
提前致谢!
如果我理解正确的话,我分两步解决了这个问题:
# at docker-compose.yaml
version: '3'
services:
app:
build:
...
volumes:
- /usr/bin/git:/usr/bin/git
# installing dependencies missing at guest (in my case, guest debian, host ubuntu)
- /lib/x86_64-linux-gnu/libpcre2-8.so.0:/lib/x86_64-linux-gnu/libpcre2-8.so.0
Run Code Online (Sandbox Code Playgroud)
2. 在容器内运行 hook 命令,例如:
# at .husky/pre-commit
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
# instead of only npx lint-staged
docker exec great-app npx lint-staged
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
371 次 |
| 最近记录: |