Skip to content

Commit 6415ee1

Browse files
authored
Merge pull request #203 from ByteInternet/composer_29_support
Dockerfile: install composer 2.9 when supported
2 parents 9c9208e + 2caeb4e commit 6415ee1

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

‎ci/build/Dockerfile‎

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,16 @@ RUN ln -s /bin/hypernode-deploy /bin/hipex-deploy
117117
# Install composer 1
118118
RUN curl -sS https://getcomposer.org/installer | php -- --1 --filename=composer1 && mv composer1 /usr/local/bin/ && chmod +x /usr/local/bin/composer1
119119
# Install composer 2
120-
RUN curl -sS https://getcomposer.org/installer | php -- --2.2 --filename=composer2 && mv composer2 /usr/local/bin/ && chmod +x /usr/local/bin/composer2
121-
# Use version 1 for main composer binary
120+
# Composer 2.2 LTS is kept for older PHP variants, but its RemoteFilesystem callback
121+
# is rejected by the stricter callable validation in PHP 8.4+ (composer/composer#12051, #12471),
122+
# so those variants get Composer 2.9.3 (minimum for Magento 2.4.7/2.4.8) instead.
123+
RUN if dpkg --compare-versions "${PHP_VERSION}" lt "8.4"; then \
124+
curl -sS https://getcomposer.org/installer | php -- --2.2 --filename=composer2; \
125+
else \
126+
curl -sS https://getcomposer.org/installer | php -- --version=2.9.3 --filename=composer2; \
127+
fi \
128+
&& mv composer2 /usr/local/bin/ && chmod +x /usr/local/bin/composer2
129+
# Use composer 2 as the main composer binary
122130
RUN rm -f /usr/local/bin/composer; ln -s /usr/local/bin/composer2 /usr/local/bin/composer
123131

124132
# Install elgentos magento2-static-deploy binary for high-performance static content deployment

0 commit comments

Comments
 (0)