Lesson 0

Lesson 0. Installing Flutter and setting up your editor

Egor Dolgov · 09.11.2026
Let's get your computer ready
OS
System
{ }
Editor
▶
Where to run
Start the interactive lesson
Subtitles
Let'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:

  1. What you need
  2. Download Flutter
  3. Add Flutter to PATH
  4. Connect your editor
  5. Checking: flutter doctor
  6. Common errors
  7. Updating Flutter
  8. 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:

  1. Press Windows + Pause (no Pause key — Windows + Fn + B ) and open Advanced System Settings → Environment Variables…
  2. 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 Path and the value from step 3, then close the windows.
  3. 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.

  1. Open the settings: File → Settings ( Ctrl+Alt+S ) on Windows and Linux, Android Studio → Settings… ( ⌘, ) on macOS.
  2. Choose Plugins , the Marketplace tab, type flutter and click Install , then Yes when asked to install it. The Dart plugin installs along with Flutter.
  3. 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 -v shows 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\bin folder, not flutter ;
  • 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 flutter folder.

“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 flutter command doesn't work without it.
  • Flutter installs with one git clone -b stable … command, then flutter/bin goes into PATH.
  • Your editor needs the Flutter extension (VS Code) or plugin (Android Studio).
  • After changing PATH, restart your terminals and editors.
  • flutter doctor shows what is ready: to start you need checkmarks for Flutter and Chrome .

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.

Mark lesson as completed