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:
+13
-6
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user