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

Docker构建LatentSync镜像时source命令找不到的原因咨询

Docker构建中source命令找不到的原因及解决方法

核心原因

  • Docker默认使用/bin/sh作为RUN指令的执行shell,而source是Bash的内置命令,sh并不支持这个命令。你可以用.(点号)来替代source,这个命令在sh和Bash中都能兼容执行脚本并加载环境变量。

额外问题:独立RUN会话的坑

你的Dockerfile里还有一个隐藏问题:每个RUN指令都是独立的shell会话,RUN cd LatentSync只会在当前RUN进程内切换目录,下一个RUN又会回到WORKDIR /app的路径,所以直接分开写cd和source会导致找不到setup_env.sh文件。

修正后的Dockerfile示例

FROM ubuntu:latest
RUN apt-get update && apt-get install -y git
WORKDIR /app
RUN git clone https://github.com/bytedance/LatentSync.git && \
    cd LatentSync && \
    . setup_env.sh

关键修改说明

  1. 将source替换为.,兼容sh环境
  2. 把git clone、cd、source合并到同一个RUN指令中,确保目录切换和脚本执行在同一个会话内完成
  3. 也可以用WORKDIR提前切换目录,再执行脚本:
FROM ubuntu:latest
RUN apt-get update && apt-get install -y git
WORKDIR /app
RUN git clone https://github.com/bytedance/LatentSync.git
WORKDIR /app/LatentSync
RUN . setup_env.sh

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 16:12:06