From bcf5a82eba538b6e0dc5797366d60a54cd49f186 Mon Sep 17 00:00:00 2001 From: Raphael Westphal Date: Wed, 19 Aug 2026 11:17:29 +0200 Subject: [PATCH] fix: rm npm symlink before installing shim (COPY followed it and clobbered npm-cli.js) --- docker/control.Dockerfile | 8 ++++++-- docker/worker.Dockerfile | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/docker/control.Dockerfile b/docker/control.Dockerfile index 9de8676..8a748bb 100644 --- a/docker/control.Dockerfile +++ b/docker/control.Dockerfile @@ -14,8 +14,12 @@ RUN npm install -g --ignore-scripts @earendil-works/pi-coding-agent # Same npm shim as the worker image (see worker.Dockerfile). COPY docker/npm-real /usr/local/bin/npm-real -COPY docker/npm-shim /usr/local/bin/npm -RUN chmod +x /usr/local/bin/npm-real /usr/local/bin/npm +COPY docker/npm-shim /usr/local/bin/npm-ignore-scripts +# rm first: /usr/local/bin/npm is a symlink into npm's lib dir, and COPY +# would follow it and clobber npm-cli.js itself. +RUN rm -f /usr/local/bin/npm \ + && mv /usr/local/bin/npm-ignore-scripts /usr/local/bin/npm \ + && chmod +x /usr/local/bin/npm-real /usr/local/bin/npm # Same pi config as workers (dotfiles, filtered; git: packages stripped). COPY docker/pi-agent/ /root/.pi/agent/ diff --git a/docker/worker.Dockerfile b/docker/worker.Dockerfile index 4a20583..d1c1561 100644 --- a/docker/worker.Dockerfile +++ b/docker/worker.Dockerfile @@ -18,8 +18,12 @@ RUN npm install -g --ignore-scripts @earendil-works/pi-coding-agent # --ignore-scripts so ALL dotfiles packages (pi-subagents, todo tooling, # async agents, every extension) survive the bake. COPY docker/npm-real /usr/local/bin/npm-real -COPY docker/npm-shim /usr/local/bin/npm -RUN chmod +x /usr/local/bin/npm-real /usr/local/bin/npm +COPY docker/npm-shim /usr/local/bin/npm-ignore-scripts +# rm first: /usr/local/bin/npm is a symlink into npm's lib dir, and COPY +# would follow it and clobber npm-cli.js itself. +RUN rm -f /usr/local/bin/npm \ + && mv /usr/local/bin/npm-ignore-scripts /usr/local/bin/npm \ + && chmod +x /usr/local/bin/npm-real /usr/local/bin/npm # User's pi config from dotfiles (settings, skills, agents, extensions, # APPEND_SYSTEM.md) — synced by deploy.sh from ~/.dotfiles/pi/agent (filtered: