Puro — эффективный способ управления Flutter-версиями

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

маскот puro
маскот puro

Из уст переводчика: инструмент 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 на вашей машине, что довольно просто.

Прим. пер.: заметка по установке git. Взято с официального сайта puro.dev
Прим. пер.: заметка по установке git. Взято с официального сайта puro.dev

Если вы, как и я, являетесь пользователем 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 – это недавно вышедший проект, поэтому используйте его с осторожностью!

Спасибо и до встречи!

Источник: https://habr.com/ru/articles/760966/


Интересные статьи

Интересные статьи

Привет! Меня зовут Олег Мифле. В Skyeng работаю над проектом Skypro. В IT я уже больше десяти лет, семь из которых пишу на PHP. За плечами десятки разных проектов: e-commerce, финтех, CRM, а недавно д...
Сложно выстроить эффективную защиту ИТ-инфраструктуры, игнорируя процесс контроля уязвимостей (Vulnerability Management, VM). Он включает поиск и учет всех информационных активов, оценку уровня защище...
SVG-изображения можно вставлять непосредственно в html, можно использовать символьные спрайты, теги <img>, <object> и даже <iframe>. Можно подключать SVG через data-url, css-backgrou...
Часть 1: CRM для ERPЧасть 2: Роботизация бизнес-процессовЧасть 3: Волшебные интерфейсы и оживление железаЧасть 4: Автоматические личные кабинеты и чат-ботыЧасть 5: Автоматизация на производствеЧасть 6...
Все поверили в теорию управления. Мы не задумываясь задаем вопросы в научно-образовательной среде друг-другу с точки зрения ее положений. Судим о научных работах. Но почему же Теория не спешит дружить...