Як знизити версію Composer, PHP і NPM
TL;DR: Якщо ви працюєте над різними проектами, кожен із яких потребує різних версій PHP, Composer та/або NPM, вам може знадобитися змінити версію всіх або будь-яких перестановок будь-якої з цих утиліт.
У цій статті описано, які кроки потрібно виконати, щоб знизити версію Composer, PHP або NPM під час роботи над будь-яким проектом.
Понизити Composer, PHP і NPM
Пониження версії Composer 2 до Composer 1
Протягом останніх кількох місяців я використовував Composer 2 без проблем; однак мені щойно виникла потреба знизити версію Composer для поточного проекту.
Для цього виконайте таку команду в терміналі:
$ sudo composer self-update --1
Зазвичай це спрацьовує. Якщо ви робили щось подібне вже давно, можливо, вам знадобиться оновити ключі.
Перевірте ключі
Команди терміналу для оновлення цього досить прості з точки зору керівництва, як це зробити, але мати наступну URL-адресу буде зручно.
Спочатку візьміть цю URL -адресу: https://composer.github.io/pubkeys.html.
Потім виконайте таку команду:
$ composer self-update --update-keys
Звідти термінал запропонує вам, який ключ потрібно ввести. Після цього ви зможете завершити процес пониження версії.
Понизити PHP
Я використовую Homebrew для керування різними інсталяціями PHP, які у мене є. Я працював над проектом, який використовував PHP8, але мені потрібно було знизити його версію.
Якщо припустити, що у вас уже є наявний пакет для версії PHP, яку ви хочете використовувати, ви можете використовувати одну з попередніх встановлених версій.
Наприклад, у /usr/local/Cellar/php@7.3мене на локальній машині встановлено PHP 7.3.26. Щоб побачити, які версії ви встановили, я роблю приблизно так:
$ ls /usr/local/Cellar/php*
А структура поверне каталоги версій PHP, які я встановив. На момент написання цієї статті я мав:
/usr/local/Cellar/phpякий є8.0.3/usr/local/Cellar/php@7.3який є7.3.27
Щоб використовувати старішу версію, мені спочатку потрібно від’єднати поточну версію PHP:
$ brew unlink php
А потім створіть посилання на попередню версію:
$ brew link php@7.3 --force --overwrite
І важливо використовувати назву каталогу (наприклад, php@7.3цей термінал повертає вище).
Щоб переконатися, що це працює, ви повинні мати можливість запустити $ php -vта переглянути версію, яка зараз виконується.
Понизити NPM
Подібно до попередніх двох елементів вище, мені потрібно було знизити пакет, який надійшов як інформація під час запуску npm iв терміналі.
Якщо припустити, що попередження, помилка або сповіщення показують потрібну вам версію, тоді використовуйте це як посібник для версії, яку потрібно знизити.
Спочатку визначте поточну версію, виконавши:
$ npm -v
Потім, використовуючи інформацію з повідомлення в терміналі, виконайте таку команду:
$ npm install -g npm@6.13.4
Виконано, ще раз перевірте версію, використовуючи ту саму команду, що й вище, і вона має збігатися з тим, що ви щойно встановили.
Не все відразу
Очевидно, що вам може не знадобитися змінювати все це одночасно, а по одному. І це не дивно. Ця публікація є результатом моєї роботи над чимось від інтерфейсу до бекенда, що вимагало оновлення всього середовища.
Зрештою, оновлюйте або знижуйте лише те, що вам потрібно. Одне не потребує оновлення інших.

