# Installation

> Install Elide with the install script, PowerShell, npm, a package manager, or a container

Elide has two channels: `release` (versions such as `1.6.0`) and `nightly` (daily builds). The install scripts
default to `nightly`.

## macOS, Linux, or WSL

```bash
curl -sSL --tlsv1.2 elide.sh | bash -s -- --channel=release
```

Installs under `${ELIDE_HOME:-${XDG_DATA_HOME:-$HOME/.local/share}/elide}` and adds `bin` to your shell profile.

| Option | Effect |
| --- | --- |
| `--channel=release` or `--channel=nightly` | Select the channel (default `nightly`). |
| `--install-rev=VERSION` | Install a specific version. |
| `--install-dir=PATH` | Install somewhere else. |
| `--with-python` | Also install the Python component. |
| `--no-path` | Leave shell profiles unchanged. |
| `--help` | List every option without installing. |

## Windows

```powershell
& ([scriptblock]::Create((irm https://elide.sh/install.ps1))) -Channel release
```

Installs under `$env:ELIDE_HOME`, or `$env:LOCALAPPDATA\elide` when that is unset. Options: `-Channel`,
`-InstallRev`, `-InstallDir`, `-WithPython`, and `-NoPath`.

## npm

```bash
npm install -g @elide-dev/elide
```

`latest` tracks `release`; install `@elide-dev/elide@nightly` for nightly. Set `ELIDE_WITH_PYTHON=1` to include
Python.

## Python

Python is an optional component:

```bash
elide setup python
```

| Install method | Python |
| --- | --- |
| Install script | `--with-python` (`-WithPython` on Windows), or `elide setup python` later |
| npm | `ELIDE_WITH_PYTHON=1` during `npm install` |
| Homebrew | Included |
| Container images | Included |
| apt, RPM, MSI, macOS installers | Not available; use one of the methods above |

`elide setup python` uses the binary's own channel; `--channel=release` or `--channel=nightly` overrides it.

## Other methods

- [Packages & Installers](https://elide.help/docs/installation/packages): Homebrew, apt, RPM, macOS and Windows installers
- [Container Images](https://elide.help/docs/installation/containers)
- [Continuous Integration](https://elide.help/docs/installation/ci-cd)
- [GitHub Releases](https://github.com/elide-dev/elide/releases): archives, checksums, and older builds. Keep an
  archive's `bin/` and `lib/` together; `bin/elide` needs `lib/`.

Update a script install with `elide upgrade`, and a package-manager install through its manager.

## Verify the install

```bash
elide --version
elide info
```

<img src="https://elide.help/assets/demos/install-verify.gif" alt="Verifying an Elide installation from the command line" width="1591" height="800" loading="lazy" decoding="async" class="rounded-lg border border-border my-6 w-full" />

`elide info` lists the available languages, including `python` when it is installed. If the shell cannot find
`elide`, open a new terminal or add the install's `bin` folder to `PATH`.

| Platform | Architectures |
| --- | --- |
| Linux | `amd64`, `arm64` |
| macOS | Apple Silicon |
| Windows | `amd64` |
