fix : portabilite Docker/Makefile sur macOS Apple Silicon

- env-init : test -f || cp (au lieu de cp --update=none, GNU-only, et cp -n
  qui renvoie exit 1 sur BSD quand la cible existe) — idempotent et POSIX
- Dockerfile : telechargement de node selon l'architecture detectee
  (x64 sur amd64, arm64 sur Apple Silicon)
This commit is contained in:
Tristan Autin
2026-06-29 17:53:25 +02:00
parent d1da48ea74
commit ee41c626f1
2 changed files with 14 additions and 7 deletions
+13 -6
View File
@@ -52,12 +52,19 @@ RUN apt-get update && apt-get install -y \
xsl
# Installation de node
RUN wget -qO- "https://nodejs.org/dist/v${DOCKER_NODE_VERSION}/node-v${DOCKER_NODE_VERSION}-linux-x64.tar.xz" | tar xJC /tmp/ && \
cp -r /tmp/node-v${DOCKER_NODE_VERSION}-linux-x64/bin /usr/ && \
cp -r /tmp/node-v${DOCKER_NODE_VERSION}-linux-x64/include /usr/ && \
cp -r /tmp/node-v${DOCKER_NODE_VERSION}-linux-x64/lib /usr/ && \
cp -r /tmp/node-v${DOCKER_NODE_VERSION}-linux-x64/share /usr/ && \
# Installation de node — architecture detectee a la volee
# (x64 sur Intel/amd64, arm64 sur Apple Silicon) pour que le build passe sur les deux.
RUN NODE_ARCH="$(dpkg --print-architecture)" && \
case "$NODE_ARCH" in \
amd64) NODE_ARCH="x64" ;; \
arm64) NODE_ARCH="arm64" ;; \
*) echo "Architecture Node non supportee : $NODE_ARCH" && exit 1 ;; \
esac && \
wget -qO- "https://nodejs.org/dist/v${DOCKER_NODE_VERSION}/node-v${DOCKER_NODE_VERSION}-linux-${NODE_ARCH}.tar.xz" | tar xJC /tmp/ && \
cp -r /tmp/node-v${DOCKER_NODE_VERSION}-linux-${NODE_ARCH}/bin /usr/ && \
cp -r /tmp/node-v${DOCKER_NODE_VERSION}-linux-${NODE_ARCH}/include /usr/ && \
cp -r /tmp/node-v${DOCKER_NODE_VERSION}-linux-${NODE_ARCH}/lib /usr/ && \
cp -r /tmp/node-v${DOCKER_NODE_VERSION}-linux-${NODE_ARCH}/share /usr/ && \
npm install --global yarn
# installation/activation d'extensions php
+1 -1
View File
@@ -74,7 +74,7 @@ help:
@printf "\n Plus de details : \033[4mREADME.md\033[0m, \033[4mCLAUDE.md\033[0m\n\n"
env-init:
@cp --update=none $(ENV_DEFAULT) $(ENV_LOCAL)
@test -f $(ENV_LOCAL) || cp $(ENV_DEFAULT) $(ENV_LOCAL)
# Lance le container
start: env-init