Skip to content

Add docker troubleshooting entry for npm ENOTEMPTY caused by macOS Docker VMM (beta) - #13530

Merged
RayBB merged 1 commit into
masterfrom
docs/docker-vmm-node-modules-troubleshooting
Sep 3, 2026
Merged

Add docker troubleshooting entry for npm ENOTEMPTY caused by macOS Docker VMM (beta)#13530
RayBB merged 1 commit into
masterfrom
docs/docker-vmm-node-modules-troubleshooting

Conversation

@RayBB

@RayBB RayBB commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

N/A — docs-only troubleshooting entry from a locally diagnosed & verified failure; no existing issue covers it.

Docs fix.

Technical

  • Adds a Troubleshooting entry to docker/README.md for commands running npm inside containers failing consistently with npm error ENOTEMPTY: directory not empty, rmdir '/openlibrary/node_modules/...' (often with npm ls also reporting packages as UNMET DEPENDENCY despite the directories visibly existing).
  • Root cause on macOS: Docker Desktop's Docker VMM (beta) virtual machine backend corrupting writes to named volumes (e.g. ol-nodemodules). The entry walks through the three-step fix: switch to the Apple Virtualization framework VM option, recreate affected *_ol-nodemodules volumes, re-run.
  • Notes that other clones/worktrees' *_ol-nodemodules volumes populated while Docker VMM was active need the same treatment.

Testing

  • Reproduced the failure deterministically with the Docker VMM (beta) backend (make css died on Makefile:20: node_modules, ENOTEMPTY on rmdir).
  • After switching to Apple Virtualization framework (keeping VirtioFS): docker compose run --rm web make css completes successfully; npm ls --depth=0 reports 0 UNMET dependencies with the full 677-entry tree.

Screenshot

N/A — no UI change.

Stakeholders

Module: Docker

@RayBB
RayBB merged commit 44506a2 into master Sep 3, 2026
10 checks passed
@RayBB RayBB self-assigned this Sep 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant