First, launch Terminal, which you can find going to the Applications folder then the Utilities folder (or by searching for Terminal with Spotlight). Open Terminal then enter the following command at the command prompt: $ sysctl -n machdep.cpu.brandstring. You’ll immediately see a new line of text with the exact make and model of your Mac’s.
To install and run Flutter,your development environment must meet these minimum requirements:
git
for installation and upgrade. We recommendinstalling Xcode, which includes git
, but you can also install git
separately.Important: If you’re installing on a Mac with the latest Apple M1 processor, you may find these supplementary notes useful reading as we complete support for the new Apple Silicon architecture.
Download the following installation bundle to get the lateststable release of the Flutter SDK:
For other release channels, and older builds,see the SDK releases page.
Extract the file in the desired location, for example:
Add the flutter
tool to your path:
This command sets your PATH
variable for thecurrent terminal window only.To permanently add Flutter to your path, seeUpdate your path.
You are now ready to run Flutter commands!
Note: To update an existing version of Flutter, see Upgrading Flutter.
Run the following command to see if there are any dependencies you need toinstall to complete the setup (for verbose output, add the -v
flag):
This command checks your environment and displays a report to the terminalwindow. The Dart SDK is bundled with Flutter; it is not necessary to installDart separately. Check the output carefully for other software you mightneed to install or further tasks to perform (shown in bold text).
For example:
The following sections describe how to perform these tasks and finish the setupprocess.
Once you have installed any missing dependencies, run the flutter doctor
command again to verify that you’ve set everything up correctly.
This is only suggested for advanced use cases.
You can also use git directly instead of downloading the prepared archive. For example,to download the stable branch:
Update your path, and run flutter doctor
. That will let you know if there areother dependencies you need to install to use Flutter (e.g. the Android SDK).
If you did not use the archive, Flutter will download necessary development binaries as theyare needed (if you used the archive, they are included in the download). You may wish topre-download these development binaries (for example, you may wish to do this when settingup hermetic build environments, or if you only have intermittent network availability). Todo so, run the following command:
For additional download options, see flutter help precache
.
Warning: The flutter
tool uses Google Analytics to anonymously report feature usage statistics and basic crash reports. This data is used to help improve Flutter tools over time.
Flutter tool analytics are not sent on the very first run. To disable reporting, type flutter config --no-analytics
. To display the current setting, type flutter config
. If you opt out of analytics, an opt-out event is sent, and then no further information is sent by the Flutter tool.
By downloading the Flutter SDK, you agree to the Google Terms of Service. Note: The Google Privacy Policy describes how data is handled in this service.
Moreover, Flutter includes the Dart SDK, which may send usage metrics and crash reports to Google.
You can update your PATH variable for the current session atthe command line, as shown in Get the Flutter SDK.You’ll probably want to update this variable permanently,so you can run flutter
commands in any terminal session.
The steps for modifying this variable permanently forall terminal sessions are machine-specific.Typically you add a line to a file that is executedwhenever you open a new window. For example:
rc
file for your shell.Typing echo $SHELL
in your Terminal tells youwhich shell you’re using.If you’re using Bash,edit $HOME/.bash_profile
or $HOME/.bashrc
.If you’re using Z shell, edit $HOME/.zshrc
.If you’re using a different shell, the file pathand filename will be different on your machine.Add the following line and change[PATH_OF_FLUTTER_GIT_DIRECTORY]
to bethe path of your clone of the Flutter git repo:
source $HOME/.<rc file>
to refresh the current window,or open a new terminal window toautomatically source the file.Verify that the flutter/bin
directoryis now in your PATH by running:
Verify that the flutter
command is available by running:
Note: As of Flutter’s 1.19.0 dev release, the Flutter SDK contains the dart
command alongside the flutter
command so that you can more easily run Dart command-line programs. Downloading the Flutter SDK also downloads the compatible version of Dart, but if you’ve downloaded the Dart SDK separately, make sure that the Flutter version of dart
is first in your path, as the two versions might not be compatible. The following command (on macOS, linux, and chrome OS), tells you whether the flutter
and dart
commands originate from the same bin
directory and are therefore compatible. (Some versions of Windows support a similar where
command.)
As shown above, the two commands don’t come from the same bin
directory. Update your path to use commands from /path-to-flutter-sdk/bin
before commands from /usr/local/bin
(in this case). After updating your shell for the change to take effect, running the which
or where
command again should show that the flutter
and dart
commands now come from the same directory.
To learn more about the dart
command, run dart -h
from the command line, or see the dart tool page.
macOS supports developing Flutter apps in iOS, Android,and the web (technical preview release).Complete at least one of the platform setup steps now,to be able to build and run your first Flutter app.
To develop Flutter apps for iOS, you need a Mac with Xcode installed.
Configure the Xcode command-line tools to use thenewly-installed version of Xcode byrunning the following from the command line:
This is the correct path for most cases,when you want to use the latest version of Xcode.If you need to use a different version,specify that path instead.
sudo xcodebuild -license
from the command line.Versions older than the latest stable version may still work,but are not recommended for Flutter development.Using old versions of Xcode to target bitcode is notsupported, and is likely not to work.
With Xcode, you’ll be able to run Flutter apps onan iOS device or on the simulator.
To prepare to run and test your Flutter app on the iOS simulator,follow these steps:
On your Mac, find the Simulator via Spotlight orby using the following command:
To create your first Flutter app and test your setup,follow these steps:
Create a new Flutter app by running the following from thecommand line:
A my_app
directory is created, containing Flutter’s starter app.Enter this directory:
To launch the app in the Simulator,ensure that the Simulator is running and enter:
To deploy your Flutter app to a physical iOS deviceyou’ll need to set up physical device deployment in Xcodeand an Apple Developer account. If your app is using Flutter plugins,you will also need the third-party CocoaPods dependency manager.
You can skip this step if your apps do not depend onFlutter plugins with native iOS code.Install and set up CocoaPods by running the following commands:
Note: The default version of Ruby requires sudo
to install the CocoaPods gem. If you are using a Ruby Version manager, you may need to run without sudo
.
Follow the Xcode signing flow to provision your project:
open ios/Runner.xcworkspace
in a terminalwindow from your Flutter project directory.Runner
project in the left navigation panel.In the Runner
target settings page,make sure your Development Team is selectedunder Signing & Capabilities > Team.
When you select a team,Xcode creates and downloads a Development Certificate,registers your device with your account,and creates and downloads a provisioning profile (if needed).
The first time you use an attached physical device for iOSdevelopment, you need to trust both your Mac and theDevelopment Certificate on that device.Select Trust
in the dialog prompt whenfirst connecting the iOS device to your Mac.
Then, go to the Settings app on the iOS device,select General > Device Managementand trust your Certificate.For first time users, you may need to selectGeneral > Profiles > Device Management instead.
If automatic signing fails in Xcode, verify that the project’sGeneral > Identity > Bundle Identifier value is unique.
Start your app by running flutter run
or clicking the Run button in Xcode.
Note: Flutter relies on a full installation of Android Studio to supply its Android platform dependencies. However, you can write your Flutter apps in a number of editors; a later step discusses that.
To prepare to run and test your Flutter app on an Android device,you need an Android device running Android 4.1 (API level 16) or higher.
flutter devices
command to verify thatFlutter recognizes your connected Android device. By default,Flutter uses the version of the Android SDK where your adb
tool is based. If you want Flutter to use a different installationof the Android SDK, you must set the ANDROID_SDK_ROOT
environmentvariable to that installation directory.To prepare to run and test your Flutter app on the Android emulator,follow these steps:
Verify the AVD configuration is correct, and select Finish.
For details on the above steps, see ManagingAVDs.
Flutter has support for building web applications in thestable
channel. Any app created in Flutter 2 automaticallybuilds for the web. To add web support to an existing app, followthe instructions on Building a web application with Flutter when you’ve completed the setup above.
Set up your preferred editor.
Since macOS is based on Unix there are a number of ways to compress files and folders within the filing system using Unix based application code, below are a few options using the Terminal or command line interface (cli). The default command line application interface in macOS is the Terminal and is stored in /Applications/Utilities.
File and folder compression saves on file size and ensures the contents are captured and delivered or stored as one monolithic file. A compressed file which contains files and folders is generally referred to as an archive. Here are some built-in compression applications you can use including zip, tar, gz, bz2, gz and dmg.
First up is ZIP one of the most commonly used compression techniques used across all platforms
To compress
To extract
If you want to make a zip without those invisible Mac resource files such as “_MACOSX” or “._Filename” and .ds store files, use the “-X” option in the command so:
Second up is TAR, an old favorite on Unix/Linux – you add the GZ for the compression – compresses tighter than zip
To compress
To extract
A variation on TAR GZ but with better compression than both tar.gz and zip.
To compress
To extract
Without the tar
To extract
This one is macOSnative only – for a GUI interface use /Applications/Utilities/Disk Utility – for command line use:
To create
To mount
To view
To Eject
You can also use a number of different formats for creating a .dmg
That’s the low down, the more common compression packages available will typically be covered in one of the above.