Chạy đồng thời composer 1 và 2
Composer 2 rất tuyệt vời nhưng lại không tương thích với phiên bản php <7.2. Vì vậy nếu bạn cần bảo trì một project có php cũ mà không sử dụng docker hay máy ảo thì bạn có thể gặp một số lỗi như sau:
PHP Fatal error: Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 7.2.0". You are running 7.1.33.
Để khắc phục vấn đề trên, bạn có thể chạy đồng thời 2 phiên bản Composer 1 và 2 theo các bước dưới đây.
- Cài Composer globally theo chỉ dẫn từ home page https://getcomposer.org/doc/00-intro.md#installation-linux-unix-macos
Theo cách trên thì Composer 2 sẽ được cài đặt vào/usr/local/bin
. (với MacOS bạn có thể dùngbrew install composer
) - Di chuyển bản composer trên vào 1 thư mục composer2:
mv /usr/local/bin/composer /usr/local/bin/composer2
- CD tới thư mục /usr/local/bin/ bằng lệnh:
/usr/local/bin/
- Download phiên bản V1 version từ link: https://getcomposer.org/download/1.10.17/composer.phar :
wget https://getcomposer.org/download/1.10.17/composer.phar
- Đảm bảo phar file vừa download có đủ quyền để thực thi:
chmod 755 composer.phar
- Đổi tên bản composer v1 vừa cài đặt thành composer1:
mv /usr/local/bin/composer.phar /usr/local/bin/composer1
- Bây giờ sẽ tạo symlink cho bản composer global mà bạn muốn:
ln -s /usr/local/bin/composer1 /usr/local/bin/composer
. Nếu ở local bạn dùng 1 PHP switcher nhưdnsmasq
orvalet
, bạn hãy sử dụng bản global composer phù hợp với bản của phpf - Để sử dụng bản global Composer:
composer --version
- Để sử dụng global Composer 1: run
composer1 --version
- Để sử dụng Composer 2: run
composer2 --version
Hy vọng bạn mẹo trên có thể giúp bạn làm việc dễ dàng hơn!