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

Windows环境下Makefile中source命令无法识别的问题求助

解决Windows CMD中执行Makefile时source命令不识别的问题

问题原因

虽然你的Makefile指定了SHELL=/bin/bash,但Windows CMD环境下,make可能未正确找到bash执行环境,或者默认调用了cmd.exe来解析命令,而source是bash的内置命令,无法被cmd识别。

解决方案

以下三种方案任选其一即可:

  • 方案1:指定Windows上实际的bash路径
    Windows默认没有/bin/bash,需替换为你安装的bash实际路径(如Git Bash、WSL或Cygwin的bash)。修改Makefile中的SHELL行:

    # Git Bash默认安装路径示例,根据实际情况调整
    SHELL=C:/Program\ Files/Git/bin/bash.exe
    

    若路径含空格,也可用引号包裹:

    SHELL="C:/Program Files/Git/bin/bash.exe"
    
  • 方案2:强制用bash解释整条命令
    保持SHELL=/bin/bash不变,修改每个target的命令,用bash -c包裹,确保命令在bash环境中执行:

    build_image:
        bash -c 'source ${ENV_FILE} && bash deployment/deploy.sh build'
    

    其余target(如feast_apply、build_push_image等)按同样方式修改即可。

  • 方案3:替换source为bash等效写法
    在bash中,.命令和source完全等效,可直接替换:

    build_image:
        . ${ENV_FILE} && bash deployment/deploy.sh build
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 23:30:02