In questa lezione vedremo come installare Flutter su MacOS, e verificare che tutto funzioni correttamente.
Requisiti
L’installazione di Flutter richiede che siano soddisfatti i seguenti requisiti minimi:
Parametro | Requisito minimo |
---|---|
Sistema Operativo | MacOS (64-bit) |
Spazio disco libero | 700 MB (solo per Flutter) |
Tool da riga di comando |
|
Prima di proseguire, assicuriamoci di soddisfare tutti i requisiti necessari per l’installazione.
Installazione di Flutter
Iniziamo a muovere i primi passi con Flutter per poter configurare il nostro ambiente.
Colleghiamoci al sito ufficiale di download di Flutter per MacOS, e scarichiamo l’ultima versione stabile disponibile. Al momento della stesura di questa guida, l’ultima versione stabile è la 1.0.0, rilasciata il 4 Dicembre 2018.
Una volta scaricato, scompattiamo il repository all’interno di una cartella. In questo caso, immaginiamo di aver creato all’interno della home dell’utente la cartella Flutter-SDK, e spostiamoci al suo interno tramite il comando
cd ~/Flutter-SDK
Eseguiamo da qui il comando seguente:
unzip ~/Downloads/flutter_macos_v1.0.0-stable.zip
Tramite il comando ls, vedremo che all’interno della cartella ne è presente una nuova, chiamata flutter. Entriamo in questa cartella per vedere che quello che abbiamo scaricato è la branch stabile del repository di Flutter aggiornato alla versione 1.0.0, come si può notare attraverso un semplice cat del file version.
Qualora da terminale non fosse visibile l’informazione sul branch, è possibile eseguire il comando
git branch
Per completare l’installazione, dobbiamo esportare una variabile d’ambiente all’interno del nostro path. Dalla root del repository di Flutter, collochiamoci nella cartella bin ed eseguiamo il comando pwd
per ottenere il path corrente, che sarà simile a:
/Users/[UTENTE]/Flutter-SDK/flutter/bin
Apriamo, ora, il file .bash_profile con un qualsiasi editor installato sul nostro sistema. Se usiamo vim, il comando è il seguente:
vim .bash_profile
Scriviamo quindi l’export
della variabile $PATH
come segue:
# flutter
export PATH=$PATH:/Users/[UTENTE]/Flutter-SDK/flutter/bin
e salviamo il file.
Nel caso in cui il file .bash_profile non fosse presente, è possibile usare il file .bashrc o, nel caso di zsh, il file .zshrc.
A questo punto, ricarichiamo il file .bash_profile tramite il comando:
source .bash_profile
o più semplicemente, chiudiamo e riapriamo il nostro terminale ed eseguiamo il comando:
echo $PATH
Verrà così visualizzato l’elenco dei percorsi delle directory incluse nella variabile $PATH
(separate da :
). Se tutto è andato come previsto, tra questi percorsi troveremo anche quello appena inserito.
Esecuzione del comando flutter doctor
Siamo finalmente pronti ad eseguire il comando:
flutter doctor [-v]
dove -v
è l’opzione verbose per l’output.
Questo comando permette di verificare il nostro ambiente di lavoro, e fornisce un report dettagliato con tutti i possibili warning e problemi presenti sulla nostra macchina di sviluppo, come ad esempio l’assenza dei plugin di Flutter e Dart per Android Studio, o la mancata installazione di alcune librerie e di CocoaPods per lo sviluppo con iOS.
Un possibile output è rappresentato nella seguente figura.
Nelle prossime lezioni, affronteremo più nel dettaglio la configurazione degli ambienti di sviluppo come Android Studio e Visual Studio Code. In questa, invece, completeremo la risoluzione dei warning sull’installazione delle librerie fondamentali o l’accettazione delle licenze.
Risoluzione dei warning su licenze e librerie
Guardando l’output dell’esecuzione del comando flutter doctor, ci accorgiamo che il primo warning è relativo alla mancata accettazione di alcune licenze Android.
Per risolvere questo problema basterà eseguire il comando:
flutter doctor --android-licenses
Questo comando mostrerà a schermo la lista di licenze da leggere e accettare.
A questo punto, passiamo alla configurazione delle librerie mancanti per iOS. In particolare, bisogna installare i seguenti pacchetti.
Tool/libreria | Descrizione |
---|---|
CocoaPods | È il gestore delle librerie e relative dipendenze per un progetto iOS e di cui abbiamo già discusso in questa guida. In particolare, CocoaPods viene utilizzato per recuperare il codice del plug-in del lato della piattaforma iOS che risponde all'utilizzo del proprio plug-in sul lato Dart. Senza risolvere le dipendenze iOS con CocoaPods, i plugin non funzioneranno su iOS |
libimobiledevice |
È una libreria cross-platform che utilizza i protocolli per supportare i dispositivi iPhone, iPod Touch, iPad e Apple TV. Consente ad altri software di accedere al filesystem del dispositivo e di leggere e scrivere su quest’ultimo. A differenza di altre librerie esistenti, questa non richiede di effettuare il jailbreak e non dipende dall’utilizzo di librerie proprietarie |
ideviceinstaller |
È uno strumento per interagire con l’installation_proxy di un dispositivo iOS, che consente di installare, aggiornare, disinstallare, archiviare, ripristinare ed elencare le app installate o archiviate. Per compiere queste operazioni, si avvale della libreria libimobiledevice , che consente la comunicazione con dispositivi iOS |
ios-deploy |
Installa le app iOS e permette di fare il debug di queste dalla riga di comando. Questo tool è stato progettato per funzionare su qualsiasi dispositivo iOS, senza che sia necessario effettuare il jailbreak |
Per installare CocoaPods, basterà eseguire da terminale il seguente comando:
[sudo] gem install cocoapods
Otterremo un output simile al seguente:
Infine, inizializziamo CocoaPods con il comando:
pod setup
Passiamo adesso all’installazione dei tre pacchetti come segue.
Aggiorniamo Homebrew, tramite il comando:
brew update
Successivamente, eseguiamo quanto segue:
brew install --HEAD usbmuxd
Ciò installerà il modulo usbmuxd
come workaround ad un problema della libreria libimobiledevice
, riportato qui. Con la nuova release della libreria libimobiledevice
, non sarà più necessario effettuare questa operazione.
Installiamo adesso la libreria libimobiledevice
attraverso il seguente comando di brew
:
brew install --HEAD libimobiledevice
Infine, non resta che eseguire l’installazione di ideviceinstaller
e ios-deploy
:
brew install ideviceinstaller ios-deploy
Se uno qualsiasi di questi comandi dovesse fallire, è possibile seguire le istruzioni dettata dal comando seguente:
brew doctor
Rieseguendo nuovamente il comando flutter doctor, noteremo come i warning rilevati dal sistema siano semplicemente legati alla configurazione degli IDE di sviluppo, che tratteremo nella prossima lezione.