# Install Alice

> Install Alice on Linux, macOS, or Windows, verify the toolchain, and resolve setup problems.

Canonical: https://alice-lang.org/documentation/learn/installation/

[Documentation index](https://alice-lang.org/documentation/llms.txt) · [Complete book](https://alice-lang.org/llms-full.txt)

## Install with one command

The installer downloads a release for your operating system and CPU, verifies its SHA-256 checksum, and adds Alice to your user PATH. It installs the .NET 10 SDK in your user directory if the SDK is missing. Windows does not require Visual Studio or administrator access.

### Linux and macOS

```sh
curl -fsSL https://alice-lang.org/install.sh | sh
```

### Windows

Run in PowerShell:

```powershell
irm https://alice-lang.org/install.ps1 | iex
```

Open a new terminal after installation so PATH changes take effect.

## Check the installation

```sh
alice version
alice doctor
```

`version` identifies Alice and its runtime. `doctor` checks the SDK, PATH, selected toolchain, and version overrides. Use the .NET **SDK**, rather than only the runtime, when installing prerequisites yourself: building programs needs SDK tooling.

Continue with [your first program](https://alice-lang.org/documentation/learn/first-program.md).

## Install manually

Download the matching archive and `.sha256` file from [GitHub Releases](https://github.com/alicelanguage/alice/releases). The release targets are Linux x64, Windows x64, macOS x64, and macOS arm64. Verify the archive's hash before extracting it; on Unix use `sha256sum` or `shasum -a 256`, and on Windows use `Get-FileHash`.

Install the .NET 10 SDK, extract to a permanent directory, and put that directory on PATH. Select the correct architecture: a macOS Intel package is not the arm64 package. Manually extracted packages do not by themselves create the installer's version-management layout.

## Build from source

```sh
git clone https://github.com/alicelanguage/alice.git
cd alice
dotnet build Alice.sln --configuration Release
dotnet run --project src/Alice.Cli -- run examples/basics/hello.al
```

To run the built CLI from another directory, use its absolute path:

```sh
dotnet /path/to/alice/src/Alice.Cli/bin/Release/net10.0/alice.dll version
```

Replace `alice` in later commands with that invocation when working without an installed launcher.

## Troubleshooting

| Symptom                               | What to check                                                                                           |
| ------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| `alice` is not found                  | Open a new terminal; check that `~/.alice/bin` is on PATH, or use the extracted executable's full path. |
| A .NET runtime exists but builds fail | Run `dotnet --list-sdks`; install the .NET 10 SDK.                                                      |
| Wrong version is selected             | Run `alice toolchain show`; inspect the nearest `alice-toolchain` file and `ALICE_TOOLCHAIN`.           |
| Package restore fails                 | Check NuGet connectivity, proxy settings, and the requested package version.                            |
| Archive does not run                  | Check operating system and CPU architecture; do not reuse another platform's archive.                   |

For version pinning, nightly releases, and updates, read [toolchain management](https://alice-lang.org/documentation/tools/toolchains.md).

## Continue reading

- Previous: [The Alice book](https://alice-lang.org/documentation/index.md)
- Next: [Your first program](https://alice-lang.org/documentation/learn/first-program.md)
