# Get the Dart SDK

> Get the libraries and command-line tools that you need to develop Dart web, command-line, and server apps.



This page describes how to download the Dart SDK.
The Dart SDK includes the libraries and command-line tools that
you need to develop Dart command-line, server, and web apps.

The Dart team supports only the latest stable release of the SDK.
For full details on the SDK release lifecycle and supported versions,
check out the [SDK support policy](/tools/sdk#support-policy).

To learn more about the Dart SDK, consult the [Dart SDK overview](/tools/sdk).

:::tip
If you've installed or plan to [install the Flutter SDK][install-flutter], it
includes the full Dart SDK. You don't need to install Dart separately and can skip this guide.
:::

## System requirements

Dart supports the following hardware architectures and platform versions
to develop and run Dart code.







| Platform |   x64   | IA32 (x86) |  Arm32  |  Arm64  | RISC-V (RV64GC) | OS Versions                                                                                                                                                                                                  |
|----------|:-------:|:----------:|:-------:|:-------:|:---------------:|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Windows  | <span class="material-symbols system-support" style="color: #158477" aria-label="Supported" title="Supported">verified</span> |   <span class="material-symbols system-support" style="color: #D43324" aria-label="Not supported" title="Not supported">dangerous</span>   | <span class="material-symbols system-support" style="color: #D43324" aria-label="Not supported" title="Not supported">dangerous</span>  | <span class="material-symbols system-support" style="color: #158477" aria-label="Supported" title="Supported">verified</span> |     <span class="material-symbols system-support" style="color: #DADCE0" aria-label="Does not exist" title="Does not exist">do_not_disturb_on</span>      | [Windows 11][], [Windows 10][]                                                                                                                                                                               |
| Linux    | <span class="material-symbols system-support" style="color: #158477" aria-label="Supported" title="Supported">verified</span> |   <span class="material-symbols system-support" style="color: #D43324" aria-label="Not supported" title="Not supported">dangerous</span>   | <span class="material-symbols system-support" style="color: #158477" aria-label="Supported" title="Supported">verified</span> | <span class="material-symbols system-support" style="color: #158477" aria-label="Supported" title="Supported">verified</span> |     <span class="material-symbols system-support" style="color: #158477" aria-label="Supported" title="Supported">verified</span>     | [Debian stable][],<br>[Ubuntu LTS][] under standard support                                                                                                                                                  |
| macOS    | <span class="material-symbols system-support" style="color: #158477" aria-label="Supported" title="Supported">verified</span> |   <span class="material-symbols system-support" style="color: #D43324" aria-label="Not supported" title="Not supported">dangerous</span>   | <span class="material-symbols system-support" style="color: #DADCE0" aria-label="Does not exist" title="Does not exist">do_not_disturb_on</span>  | <span class="material-symbols system-support" style="color: #158477" aria-label="Supported" title="Supported">verified</span> |     <span class="material-symbols system-support" style="color: #DADCE0" aria-label="Does not exist" title="Does not exist">do_not_disturb_on</span>      | Latest three versions of macOS:<br>[Tahoe](https://support.apple.com/122868) (26), [Sequoia](https://support.apple.com/120283) (15), [Sonoma](https://support.apple.com/109035) (14) |

{:.table .table-striped}

<span class="material-symbols system-support" style="color: #158477" aria-label="Supported" title="Supported">verified</span> Supported on all channels.<br>
<span class="material-symbols system-support" style="color: #EF6C00" aria-label="Deprecated" title="Deprecated">error</span> Support is deprecated and might be dropped in a future Dart release.<br>
<span class="material-symbols system-support" style="color: #E25012" aria-label="Final deprecation" title="Final deprecation">report</span> Support is deprecated and will likely be removed in the next stable release.<br>
<span class="material-symbols system-support" style="color: #D43324" aria-label="Not supported" title="Not supported">dangerous</span> Unsupported on all channels.<br>
<span class="material-symbols system-support" style="color: #DADCE0" aria-label="Does not exist" title="Does not exist">do_not_disturb_on</span> Unsupported by the operating system.<br>

[Windows 10]: https://www.microsoft.com/en-us/software-download/windows10
[Windows 11]: https://www.microsoft.com/en-us/software-download/windows11
[Debian stable]: https://www.debian.org/releases
[Ubuntu LTS]: https://wiki.ubuntu.com/Releases

## Choose an installation option

To install and update the Dart SDK from the stable channel,
choose one of the following options:

1. [Use a package manager](#install) (Recommended).

1. Use a [Dart Docker image][dart-docker].

1. [Install Flutter][install-flutter].  
   If you've installed or plan to [install the Flutter SDK][install-flutter],
   it includes the full Dart SDK. The Flutter SDK includes the
   [`dart`](/tools/dart-tool) CLI tool in Flutter's `bin` folder.

1. Download a ZIP archive from the [SDK Archive](/get-dart/archive).

1. [Build the SDK from source][build-source].

:::warning Notice
Dart tools might send usage metrics and crash reports to Google.
If you download the Dart SDK, you agree to the
[Google Terms of Service.](https://policies.google.com/terms)
To learn how Dart handles this data,
consult the [Google Privacy Policy](https://policies.google.com/privacy).

To toggle data collection, use the following options on the
[`dart` tool](/tools/dart-tool):

* To enable anonymous analytics, run `dart --enable-analytics`.
* To disable anonymous analytics, run `dart --disable-analytics`.

:::



## Install the Dart SDK {:#install}

To install the Dart SDK,
use the appropriate package manager for your development platform.

To upgrade the Dart SDK,
run the same command to install the Dart SDK from your package manager.

<Tabs key="dev-os" wrapped="true">
  <Tab name="Windows">

  
### Install using Chocolatey {:.no_toc}

To install the Dart SDK, use [Chocolatey][Chocolatey].
Chocolatey requires [elevated permissions].

1. Install Chocolatey.

1. Launch [PowerShell][] with elevated permissions.

   ```ps
   PS C:\> choco install dart-sdk
   ```

### Change default install path {:.no_toc}

By default, Chocolatey installs the SDK at `C:\tools\dart-sdk`.
To change that location, set the [`ChocolateyToolsLocation`][]
environment variable to your desired installation directory.

### Verify your PATH includes Dart {:.no_toc}

Verify you can run Dart.

```ps
PS C:\> dart --version
Dart SDK version: 3.2.4 (stable) (Thu Dec 21 19:13:53 2023 +0000) on "win_x64"
```

If your development machine doesn't return a Dart version,
add the SDK location to your PATH:

1. In the Windows search box, type `env`.
2. Click **Edit the system environment variables**.
3. Click **Environment Variables...**.
4. In the user variable section, select **Path** and click **Edit...**.
5. Click **New**, and enter the path to the `dart-sdk` directory.
6. In each window that you just opened,
   click **Apply** or **OK** to dismiss it and apply the path change.

### Upgrade using Chocolatey {:.no_toc}

To upgrade the Dart SDK, use the following command.

```ps
PS C:\> choco upgrade dart-sdk
```

### Uninstall using Chocolatey {:.no_toc}

To uninstall the Dart SDK, perform the following steps.

1. Launch [PowerShell][] with elevated permissions.

1. Use the following command.

   ```ps
   PS C:\> choco uninstall dart-sdk
   ```

1. Remove the Dart configuration files from your home directory.

   ```ps
   PS C:\> Remove-Item -Recurse -Force ^
        -Path $env:LOCALAPPDATA\.dartServer,$env:APPDATA\.dart,$env:APPDATA\.dart-tool
   ```

[elevated permissions]: https://www.thewindowsclub.com/elevated-privileges-windows
[PowerShell]: https://www.thewindowsclub.com/how-to-open-an-elevated-powershell-prompt-in-windows-10
[Chocolatey]: https://chocolatey.org
[`ChocolateyToolsLocation`]: https://stackoverflow.com/questions/19752533/how-do-i-set-chocolatey-to-install-applications-onto-another-drive/68314437#68314437


  </Tab>
  <Tab name="Linux">

  
### Install using a Linux package manager {:.no_toc}

You have two options to install the Dart SDK on Ubuntu or Debian:

* Use the [apt-get](#install-using-the-apt-get-package-manager) command.
* Download a [`.deb`](#install-as-a-debian-package) package
  and run the `dpkg` command.

### Install using the `apt-get` package manager {:.no_toc}

To install Dart with `apt-get`, perform the following steps.
You need steps 1 to 3 only for the first install.

1. Update the package index files and install the secure HTTP package.

   ```console
   $ sudo apt-get update && sudo apt-get install apt-transport-https
   ```

1. Download and add the Google Linux GPG public key.

   ```console
   $ wget -qO- https://dl-ssl.google.com/linux/linux_signing_key.pub \
     | sudo gpg  --dearmor -o /usr/share/keyrings/dart.gpg
   ```

1. Add the Dart package repository to your Linux system.

   ```console
   $ echo 'deb [signed-by=/usr/share/keyrings/dart.gpg arch=amd64] https://storage.googleapis.com/download.dartlang.org/linux/debian stable main' \
     | sudo tee /etc/apt/sources.list.d/dart_stable.list
   ```

   Substitute `amd64` with `armhf`, `arm64`, or `riscv64` as
   needed for your system.

1. Use the following `sudo apt-get` commands.

   ```console
   $ sudo apt-get update && sudo apt-get install dart
   ```

### Install as a Debian package {:.no_toc}

To install the Dart SDK as a Debian package (`*.deb`),
perform the following steps.

1. Download the Dart SDK [Debian package](#){:.debian-link-stable}.

1. Use the `sudo dpkg` command to install the `*.deb` package.

   ```console
   $ sudo dpkg -i dart_3.4.0-1_amd64.deb
   ```

   Substitute `dart_3.4.0-1_amd64.deb` with the current filename.

## Upgrade the Dart SDK {:.no_toc}

Use the same command that you used to install the SDK.

### Upgrade using `apt-get` {:.no_toc}

If you installed the Dart SDK with `apt-get`,
use the following `sudo apt-get` commands.

```console
$ sudo apt-get update && sudo apt-get install dart
```

### Upgrade using `dpkg` {:.no_toc}

If you installed the Dart SDK with `dpkg`,
use the `sudo dpkg` command.

```console
$ sudo dpkg -i dart_3.2.6-1_amd64.deb
```

Substitute `dart_3.4.0-1_amd64.deb` with the new upgrade's filename.

## Uninstall the Dart SDK {:.no_toc}

### Uninstall using `apt-get` {:.no_toc}

If you installed the Dart SDK with `apt-get`,
use the `sudo apt-get remove` command.

1. Use the `sudo apt-get remove` command.

   ```console
   $ sudo apt-get remove -y dart
   ```

1. Remove the Dart configuration files from your home directory.

   ```console
   $ rm -rf  ~/.dart*
   ```

### Uninstall using `dpkg` {:.no_toc}

If you installed the Dart SDK with `dpkg`,
use the `sudo dpkg --purge` command.

1. Use the `sudo dpkg --purge` command.

   ```console
   $ sudo dpkg --purge dart
   ```

   This removes the configuration files at the same time.

1. Verify the SDK has been removed.

   ```console
   $ dpkg -l | grep dart
   ```

[sudo]: https://www.sudo.ws/


  </Tab>
  <Tab name="macOS">

  
### Install using Homebrew {:.no_toc}

To install the Dart SDK, use [Homebrew][].

1. Install Homebrew if needed.

1. Add the [official tap][tap].

   ```console
   $ brew tap dart-lang/dart
   ```

1. Install the Dart SDK.

   ```console
   $ brew install dart
   ```

### Verify PATH includes Homebrew {:.no_toc}

Verify that your `PATH` includes the **Homebrew `bin` directory**.
Setting up the correct path simplifies using Dart SDK commands
such as `dart run` and `dart format`.

To get help configuring your `PATH`, consult the [Homebrew FAQ][].

### Upgrade using Homebrew {:.no_toc}

To upgrade when a new release of Dart is available:

```console
$ brew upgrade dart
```

### Switch Dart versions {:.no_toc}

To switch between locally installed Dart releases:

1. Install the version to which you want to switch.

   For example, to install Dart 3.1:

   ```console
   $ brew install dart@3.1
   ```

1. To switch between versions,
   unlink the current version and link the desired version.

   ```console
   $ brew unlink dart@<old> \
     && brew unlink dart@<new> \
     && brew link dart@<new>
   ```

### List installed Dart versions {:.no_toc}

To see which versions of Dart you've installed:

```console
$ brew info dart
```

### Uninstall using Homebrew {:.no_toc}

To uninstall the Dart SDK, use [Homebrew][].

1. Uninstall the Dart SDK.

   ```console
   $ brew uninstall dart
   ```

1. Remove the Dart configuration files from your home directory.

   ```dart
   rm -rf  ~/.dart*
   ```

[Homebrew]: https://brew.sh
[tap]: https://github.com/dart-lang/homebrew-dart
[Homebrew FAQ]: https://docs.brew.sh/FAQ#my-mac-apps-dont-find-homebrew-utilities


  </Tab>
</Tabs>

## Release channel reference {:#release-channels}










### Stable channel

Dart publishes a new release to the *stable* channel about every three months.
The current stable version is `[calculating]`{:.build-rev-stable}.

Use **stable** channel releases for building and deploying production apps.

**Stable** channel release version strings follow a `x.y.z` format:

* `x` : major version
* `y` : minor version
* `z` : patch version

Examples of stable channel version strings include `1.24.3` and `2.1.0`.

To install a stable channel release,
follow the [instructions on this page](#install).












### Beta channel

Dart publishes a new release to the *beta* channel about once a month.
The current beta version is `[calculating]`{:.build-rev-beta}.

Use **beta** channel releases for testing your app's compatibility with future stable versions.

**Beta** channel release version strings follow a `x.y.z-a.b.beta` format:

* `x` : major version
* `y` : minor version
* `z` : patch version
* `a` : pre-release version
* `b` : pre-release patch version


Examples of beta channel version strings include `2.8.0-20.11.beta` and `3.3.0-205.1.beta`.

To install a beta channel release,
download the [SDK as a zip file][dl-sdk].











### Dev channel

Dart publishes a new release to the *dev* channel about twice a week.
The current dev version is `[calculating]`{:.build-rev-dev}.

Use **dev** channel releases for testing recent fixes and experimental features.

**Dev** channel release version strings follow a `x.y.z-a.b.dev` format:

* `x` : major version
* `y` : minor version
* `z` : patch version
* `a` : development version
* `b` : development patch version


Examples of dev channel version strings include `2.8.0-20.11.dev` and `3.2.12-15.33.dev`.

To install a dev channel release,
download the [SDK as a zip file][dl-sdk].

[build-source]: https://github.com/dart-lang/sdk/wiki/Building
[dart-docker]: https://hub.docker.com/_/dart
[dl-sdk]: /get-dart/archive
[install-flutter]: https://docs.flutter.dev/get-started/install

