You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Make执行bin/kustomize目标时重复下载,文件已存在仍执行的问题

问题原因

你遇到的问题源于Make对目录依赖的处理逻辑:当前你把bin目录作为bin/kustomize的普通依赖,Make会对比两者的修改时间。当安装脚本生成bin/kustomize时,bin目录的修改时间会被更新(因为目录内新增了文件),下一次执行make bin/kustomize时,Make会判定bin比bin/kustomize更新,从而触发重新下载。

解决方案

有两种实用的修复方式:

方式一:使用仅顺序依赖(推荐)

把bin改成仅顺序依赖,用|分隔,这样Make只会确保bin目录存在,不会因为目录的修改时间更新就重新构建目标:

bin:
    mkdir -p bin

bin/kustomize: | bin
    curl -fsSL "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash -s bin

方式二:合并目录创建命令

直接在bin/kustomize的规则里创建bin目录,省去依赖项:

bin/kustomize:
    mkdir -p bin
    curl -fsSL "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash -s bin

仅顺序依赖的核心作用是:保证目标构建前依赖项已就绪,但不会将依赖项的修改时间作为目标是否需要重建的判断标准,完美匹配你只需要目录存在、不需要因目录变动重复下载的需求。

内容的提问来源于stack exchange,提问作者The Fool

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 21:27:27