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

在Docker容器中安装esbuild时出现ETXTBSY错误

Docker构建安装esbuild时ETXTBSY错误的解决办法

可行解决方案:

  • 跳过esbuild的二进制验证步骤,在安装时添加环境变量:

    RUN ESBUILD_SKIP_INSTALL=1 npm install
    

    该变量会让esbuild跳过下载和版本校验环节,直接使用现有二进制文件或跳过安装,避免文件占用冲突。

  • 改用npm ci替代npm install:

    RUN npm ci
    

    npm ci会严格依据package-lock.json安装依赖,避免版本浮动引发的问题,同时减少缓存层的异常冲突。

  • 调整Dockerfile层顺序,优先处理依赖安装:
    将package.json和package-lock.json的复制步骤放在代码复制之前,确保只有依赖配置变动时才重新执行安装:

    WORKDIR /app
    COPY package*.json ./
    RUN npm install
    COPY . .
    
  • 锁定esbuild版本:在package.json中指定一个稳定版本,比如:

    "dependencies": {
      "esbuild": "^0.18.10"
    }
    

    避免自动升级到存在兼容性问题的版本。

错误原因:

ETXTBSY错误意味着esbuild的二进制文件处于被占用状态,无法执行版本校验。这通常是Docker缓存层残留的旧文件引发的冲突,或是Node.js 20版本与esbuild安装脚本的交互存在兼容性问题。

内容的提问来源于stack exchange,提问作者Federico B.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 19:05:07