Lesson 0. Installing Flutter and setting up your editor
Egor Dolgov · 09.11.2026Let's set up the lesson for you: your system, your editor, and where you'll run your apps.
In this lesson we install the Flutter SDK, connect it to an editor and check that everything works. The lesson covers Windows, macOS and Linux; after it you are ready for your first app.
Contents:
- What you need
- Download Flutter
- Add Flutter to PATH
- Connect your editor
- Checking: flutter doctor
- Common errors
- Updating Flutter
- Summary
1. What you need
An editor. The easiest start is VS Code — download and install it from code.visualstudio.com . If you're used to Android Studio, it works too.
A terminal. This lesson's commands are typed in a terminal: PowerShell on Windows, Terminal on macOS and Linux. How to open it and paste a command is at the start of the Installing Git for Flutter page.
Git.
Flutter is downloaded with Git, and the
flutter
command itself doesn't work without it — it stops with
Error: Unable to find git in your PATH.
You may already have Git — check:
git --version
If it prints a version, go on to section 2. On a macOS without the developer tools, an install window opens instead of a version — click Install : that installs Git. Otherwise install Git:
- Windows — in PowerShell:
winget install --id Git.Git -e --source winget
- macOS — this installs the Xcode command line tools, which include Git; click Install in the window that appears:
xcode-select --install
- Linux (Ubuntu, Debian) — Git and the packages Flutter needs:
sudo apt-get update -y && sudo apt-get upgrade -y && sudo apt-get install -y curl git unzip xz-utils zip libglu1-mesa
sudo
asks for your account password; the characters don't show as you type — type the password and press
Enter
.
After installing, open a new terminal window: windows that are already open don't see the PATH changes made by the installer. Details and common errors are on the Installing Git for Flutter page.
Where to run. For the first lessons a browser is enough: to run the app on the web you only need Chrome or Edge. Android Studio, Xcode and Visual Studio come later — when you want to run on a phone or as a desktop program (section 5).
2. Download Flutter
Flutter downloads with one command: Git clones the stable version into the
develop/flutter
folder in your home folder (the folders are created for you). It takes a few minutes.
macOS and Linux:
git clone -b stable https://github.com/flutter/flutter.git ~/develop/flutter
Windows (PowerShell):
git clone -b stable https://github.com/flutter/flutter.git $env:USERPROFILE\develop\flutter
The folder path must not contain spaces or special characters and must not need administrator rights — so not
C:\Program Files
. If your Windows user folder name contains a space or non-Latin letters, clone into
C:\src\flutter
(at the end of the command instead of
$env:USERPROFILE\develop\flutter
) and add
C:\src\flutter\bin
to PATH.
3. Add Flutter to PATH
PATH is the list of folders where the system looks for programs. Add
flutter/bin
to it, and the
flutter
command works in any terminal.
Windows — the path is saved in the system settings:
-
Press
Windows + Pause(no Pause key —Windows + Fn + B) and open Advanced System Settings → Environment Variables… -
Under the user variables, select
Path
and click
Edit
— a list of folders opens. If there is no
Path
row, click
New
, enter the name
Pathand the value from step 3, then close the windows. -
Double-click an empty row of the list, type
%USERPROFILE%\develop\flutter\bin, move it to the top and close every window with OK .
macOS and Linux. An
export PATH=…
typed straight into the terminal only works in that window — in a new window Flutter is “not found” again. So the
export
line is appended to your shell's settings file, which it reads every time it starts.
macOS (the default shell is zsh):
echo 'export PATH="$HOME/develop/flutter/bin:$PATH"' >> ~/.zshenv
Linux — two lines, for the bash and zsh shells: you don't need to know which one you have, the extra line does no harm:
echo 'export PATH="$HOME/develop/flutter/bin:$PATH"' >> ~/.bashrc
echo 'export PATH="$HOME/develop/flutter/bin:$PATH"' >> ~/.zshenv
Run this once:
>>
appends the line to the end of the file (and creates the file if it doesn't exist), so running it again adds a second copy.
Then close and reopen all terminals and editors — PATH is read when they start.
4. Connect your editor
VS Code.
Open the Extensions view — the
Extensions
icon on the left or
Ctrl+Shift+X
(
⇧⌘X
on macOS) — find
Flutter
and click
Install
— the
Dart
extension installs with it. The extension finds Flutter through PATH by itself, so restart VS Code after section 3. To check that it sees Flutter, run
Flutter: Run Flutter Doctor
from the command palette (section 5); the Flutter version appears in the status bar at the bottom once you open a project (Lesson 1).
Android Studio.
-
Open the settings:
File → Settings
(
Ctrl+Alt+S) on Windows and Linux, Android Studio → Settings… (⌘,) on macOS. -
Choose
Plugins
, the
Marketplace
tab, type
flutterand click Install , then Yes when asked to install it. The Dart plugin installs along with Flutter. - Click Restart to restart Android Studio.
Android Studio asks for the SDK path when you create your first project (
New Flutter Project
→
Flutter SDK path
) — point it to the
flutter
folder:
~/develop/flutter
on macOS and Linux,
%USERPROFILE%\develop\flutter
on Windows. You can change it in the settings:
Languages & Frameworks → Flutter
.
5. Checking: flutter doctor
Open a new terminal (in VS Code — Terminal → New Terminal ) and run:
flutter --version
The first run takes longer: Flutter downloads the Dart SDK and builds its tool — you'll see
Downloading … Dart SDK…
and
Building flutter tool...
lines. Wait for it. Then the command prints the Flutter and Dart versions:
Flutter 3.47.9 • channel stable • https://github.com/flutter/flutter.git
Framework • revision c197ca5199 (11 days ago) • 2026-10-29 10:10:20 -0400
Engine • hash 9e025265bef30b838c0c1b68cad19decf97048f2 (revision 89c39edfdf) (12 days ago) • 2026-10-27 19:51:20.000Z
Tools • Dart 3.13.7 • DevTools 2.60.0
If the terminal says the command is not found instead, see section 6.
Now the main check —
flutter doctor
. It shows which tools are installed and which platforms you can build for:
flutter doctor
This is the answer on a Mac where Flutter is installed but Android Studio and Xcode are not fully set up:
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.47.9, on macOS 26.6.2 25G83 darwin-arm64, locale ru-RU)
[!] Android toolchain - develop for Android devices (Android SDK version 36.1.0)
! Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses
[!] Xcode - develop for iOS and macOS (Xcode 27.2)
! CocoaPods not installed.
CocoaPods is a package manager for iOS or macOS platform code.
Without CocoaPods, plugins will not work on iOS or macOS.
For more info, see https://flutter.dev/to/platform-plugins
For installation instructions, see https://guides.cocoapods.org/using/getting-started.html#installation
[✓] Chrome - develop for the web
[✓] Connected device (4 available)
[✓] Network resources
! Doctor found issues in 2 categories.
-
[✓]— all good,[!]— there is a problem or something is missing,[✗]— the tool was not found. -
Under a line with
!or✗, doctor says what to do — often as a ready command. -
flutter doctor -vshows the same in detail, with the path to every tool.
Two checkmarks are enough to start:
Flutter
and
Chrome
.
The CocoaPods message is generic: CocoaPods is only needed by plugins that haven't moved to Swift Package Manager yet (table below). You can leave the Android Studio or Xcode warnings alone until you plan to run your app on those platforms. In VS Code the same check is the
Flutter: Run Flutter Doctor
command in the command palette; the result appears in the Output panel.
What each platform needs:
| Where to run | What to install |
|---|---|
| Web | Chrome or Edge |
| Windows (desktop) | Visual Studio (not VS Code) with the Desktop development with C++ workload — details |
| macOS (desktop), iPhone | Xcode; CocoaPods — only for plugins that haven't moved to Swift Package Manager yet — details |
| Linux (desktop) |
sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev libstdc++-12-dev
—
details
|
| Android |
Android Studio with the Android SDK, then
flutter doctor --android-licenses
—
details
|
6. Common errors
“'flutter' is not recognized as an internal or external command”. The full Windows message is “'flutter' is not recognized as an internal or external command, operable program or batch file”. The system did not find Flutter in PATH:
-
check that PATH has the
flutter\binfolder, notflutter; - close and reopen the terminal and the editor — windows opened earlier don't reread PATH;
-
if VS Code says “Could not find a Flutter SDK”, click
Locate SDK
and point it to the
flutterfolder.
“Error: Unable to find git in your PATH”.
The
flutter
command can't find Git. Install it (section 1), then close and reopen the terminal.
“The Flutter SDK is installed in a protected folder and may not function correctly”.
Flutter is in a folder that needs administrator rights, such as
C:\Program Files
. Move the
flutter
folder into
develop
and update PATH.
7. Updating Flutter
A new version is one command away:
flutter upgrade
It updates Flutter to the latest version of your channel. The command from section 2 installs the
stable
channel — the one the documentation recommends for new users; new versions come out in it about every three months.
Flutter collects anonymous usage statistics and crash reports. To turn this off:
flutter --disable-analytics
8. Summary
-
You need Git: Flutter downloads through it, and the
fluttercommand doesn't work without it. -
Flutter installs with one
git clone -b stable …command, thenflutter/bingoes into PATH. - Your editor needs the Flutter extension (VS Code) or plugin (Android Studio).
- After changing PATH, restart your terminals and editors.
-
flutter doctorshows what is ready: to start you need checkmarks forFlutterandChrome.
Need several Flutter versions on one computer, or a version per project? There is a separate page for that: Installing and switching Flutter versions with FVM .
Next: Lesson 1. Your first Flutter app: Hello World .
Send questions and suggestions about this lesson to contact@flutter.su.