Из уст переводчика: инструмент puro совсем новый по меркам продуктовой разработки (первый релиз – октябрь 2022), но, по моему личному мнению, api его уже достаточно стабилизирован, а сам инструмент выражает искреннюю радость подходами. Большинство его текущих преимуществ (и выгодных отличий от fvm) я разбирал ранее в этом исчерпывающем материале – "Полное руководство по использованию FVM (Flutter Version Management) – жонглируйте версиями Flutter sdk в своих проектаx" – где вполне наглядно показано торжество puro...
Уровень моего португальского невелик, и потому перевод является достаточно свободным, с иными выверенными интонациями и построениями предложений, нежели чем могут быть в оригинале. Приятного чтения!
Возможно, вы уже сталкивались с ситуацией, когда приходится работать над несколькими проектами Flutter, которые необходимо запускать на разных версиях sdk. К сожалению, это очень часто встречается в мире разработки программного обеспечения. Например, недавно был выпущен Flutter 3.13, в котором было небольшое breaking change. По этой причине многие проекты, работающие на версии 3.10, не перешли на стабильную версию, и разработчикам, желающим протестировать новые возможности Flutter, приходится постоянно переключаться между ними, используя flutter downgrade
и flutter downgrade
. Поэтому существуют менеджеры версий, позволяющие настроить то, какую версию Flutter будет использовать каждый проект.
Мы уже говорили здесь о FVM (Flutter Version Management) – менеджере, созданном бразильцем (Leo Farias, Google Developer Experts in Dart), который я использовал в течение многих лет.
Недавно был выпущен менеджер версий Puro, который выглядит круто и очень прост в установке.
На самом сайте Puro есть график, сравнивающий время установки и настройки Puro с другими способами установки Flutter, и он показывает выигрыш более чем в 50% (всегда следует с осторожностью относиться к подобным бенчмаркам).
Также показано сравнение использования сетевого трафика и экономии дискового пространства.
Итак, давайте посмотрим, как его установить и использовать.
Первая зависимость, которую нам необходимо устранить (если вы еще не знаете это, то должны узнать), – это установка git на вашей машине, что довольно просто.
Если вы, как и я, являетесь пользователем Windows, я рекомендую использовать chocolatey для установки пакетов в Windows. Чтобы установить chocolatey, просто запустите PowerShell от имени администратора.
И выполните команду, чтобы установить chocolatey:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
Для подтверждения выполните команду choco -v
:
"Шоколадка" установлена! Теперь мы можем просто установить git, выполнив команду:
choco install git
а затем подтвердить нажатием кнопки Y
.
Перезапустите PowerShell и запустите git -v
для подтверждения установки.
Теперь для установки Puro достаточно выполнить команду в PowerShell (на этот раз НЕ от имени администратора): (прим. пер.: будьте внимательны, какую версию вы собираетесь ставить. Сейчас это 1.3.5)
Invoke-WebRequest -Uri "https://puro.dev/builds/1.3.5/windows-x64/puro.exe" -OutFile "$env:temp\puro.exe"; &"$env:temp\puro.exe" install-puro --promote
После этого будет произведена автоматическая настройка переменных окружения.
Теперь мы можем использовать Puro!
Создаём новую среду с помощью команды puro create
: (прим. пер.: я не считаю данный пример хорошим тоном – называть environment по имени канала или же по версии flutter sdk. Даже использование my_env
семантически лучше, поэтому далее я буду использовать именно это именование)
Команда состоит из:
puro create my_env flutter_version
Помните, что имя my_env
должно начинаться с буквы:
Чтобы получить список установленных версий, просто выполните команду puro ls
:
Для глобальной установки версии в операционной системе мы будем использовать флаг -g
:
puro use -g my_env
В рамках проекта можно также установить версию, отличную от глобальной:
pure use my_env
Это позволит использовать разные версии в разных проектах, не прибегая к постоянному понижению и повышению версий через flutter cli.
Лично я нашел Puro очень простым и полезным, но, конечно, это принесет пользу только в том случае, если вы работаете над несколькими проектами с разными версиями, что характерно для многих разработчиков.
Стоит помнить, что Puro – это недавно вышедший проект, поэтому используйте его с осторожностью!
Спасибо и до встречи! ?
Материал переведён Ruble.