EBUSY:尝试执行 npm install 时资源繁忙或锁定在 Docker 中

yah*_*rga 6 node.js docker

当我尝试安装 npm 包时,我不断收到此错误。

docker-compose.yml 中的卷设置如下:

volumes:
  - "./backend/packages/package.json:/home/node/package.json:delegated"
  - "./backend/packages/package-lock.json:/home/node/package-lock.json:delegated"
  - "./backend/:/home/node/app/"
  - /home/node/node_modules/
Run Code Online (Sandbox Code Playgroud)

我想从容器内部运行安装,它不断给我以下信息:

npm WARN saveError EBUSY: resource busy or locked, rename '/home/node/package.json.2756152664' -> '/home/node/package.json'
npm WARN saveError EBUSY: resource busy or locked, rename '/home/node/package-lock.json.2814803686' -> '/home/node/package-lock.json'
Run Code Online (Sandbox Code Playgroud)

Wil*_*l59 4

看起来 npm 使用 mv 来更新包文件,但是单独安装的文件不会让这种情况发生(只是尝试了通用文件,相同的症状)。

使用已安装文件夹和链接的解决方案适合我,如下所述: Locked package.json files in Docker container using docker-compose