【问题标题】:Can't run $(git rev-parse --short HEAD) in package.json on Virtualbox无法在 Virtualbox 上的 package.json 中运行 $(git rev-parse --short HEAD)
【发布时间】:2017-11-19 09:26:48
【问题描述】:

我有一个包含此脚本的 package.json:

"scripts": {
    "docker-build": "docker build -t url.com/repository:$(git rev-parse --short HEAD) ."
}

我用它在我的 Docker-images 上从 Git 创建自动标签。这适用于 Mac,但不适用于运行 Docker Quickstart Terminal 的 Windows 机器。

是否可以在 Windows 上从 NPM 脚本运行 $(git rev-parse --short HEAD) 命令?

【问题讨论】:

    标签: node.js git docker npm


    【解决方案1】:

    不幸的是,即使您的 Windows 系统上可能有 bash 环境,npm scripts 也会认为它们必须在 Windows shell 中运行。 (这种缺乏跨平台可移植性是 npm 脚本的一大限制。)

    如果有特定于平台的脚本是可以的,那么你可以参考这个问题来了解如何在 Windows shell 中做类似的事情:Batch equivalent of Bash backticks

    【讨论】:

    • 您的评论让我朝着正确的方向前进。我的解决方案是将整个 docker-build-command 移动到它自己的文件 docker-build.sh 中,然后从 package.json 运行这个文件。 bash .docker/docker-build.sh
    猜你喜欢
    • 2020-11-23
    • 1970-01-01
    • 2018-04-16
    • 2020-08-16
    • 2013-03-25
    • 1970-01-01
    • 1970-01-01
    • 2013-01-19
    • 2017-02-06
    相关资源
    最近更新 更多