Skip to content

Getting Started#

Pixi with magic wand

Pixi is a package management tool for developers. It allows the developer to install libraries and applications in a reproducible way. Use pixi cross-platform, on Windows, Mac and Linux.

Installation#

To install pixi you can run the following command in your terminal:

curl -fsSL https://pixi.sh/install.sh | bash

The above invocation will automatically download the latest version of pixi, extract it, and move the pixi binary to ~/.pixi/bin. If this directory does not already exist, the script will create it.

The script will also update your ~/.bash_profile to include ~/.pixi/bin in your PATH, allowing you to invoke the pixi command from anywhere.

PowerShell:

iwr -useb https://pixi.sh/install.ps1 | iex
winget:
winget install prefix-dev.pixi
The above invocation will automatically download the latest version of pixi, extract it, and move the pixi binary to LocalAppData/pixi/bin. If this directory does not already exist, the script will create it.

The command will also automatically add LocalAppData/pixi/bin to your path allowing you to invoke pixi from anywhere.

Tip

You might need to restart your terminal or source your shell for the changes to take effect.

You can find more options for the installation script here.

Autocompletion#

To get autocompletion follow the instructions for your shell. Afterwards, restart the shell or source the shell config file.

Bash (default on most Linux systems)#

echo 'eval "$(pixi completion --shell bash)"' >> ~/.bashrc

Zsh (default on macOS)#

echo 'eval "$(pixi completion --shell zsh)"' >> ~/.zshrc

PowerShell (pre-installed on all Windows systems)#

Add-Content -Path $PROFILE -Value '(& pixi completion --shell powershell) | Out-String | Invoke-Expression'

Failure because no profile file exists

Make sure your profile file exists, otherwise create it with:

New-Item -Path $PROFILE -ItemType File -Force

Fish#

echo 'pixi completion --shell fish | source' >> ~/.config/fish/config.fish

Nushell#

Add the following to the end of your Nushell env file (find it by running $nu.env-path in Nushell):

mkdir ~/.cache/pixi
pixi completion --shell nushell | save -f ~/.cache/pixi/completions.nu

And add the following to the end of your Nushell configuration (find it by running $nu.config-path):

use ~/.cache/pixi/completions.nu *

Elvish#

echo 'eval (pixi completion --shell elvish | slurp)' >> ~/.elvish/rc.elv

Alternative installation methods#

Although we recommend installing pixi through the above method we also provide additional installation methods.

Homebrew#

Pixi is available via homebrew. To install pixi via homebrew simply run:

brew install pixi

Windows installer#

We provide an msi installer on our GitHub releases page. The installer will download pixi and add it to the path.

Install from source#

pixi is 100% written in Rust, and therefore it can be installed, built and tested with cargo. To start using pixi from a source build run:

cargo install --locked --git https://github.com/prefix-dev/pixi.git pixi

We don't publish to crates.io anymore, so you need to install it from the repository. The reason for this is that we depend on some unpublished crates which disallows us to publish to crates.io.

or when you want to make changes use:

cargo build
cargo test

If you have any issues building because of the dependency on rattler checkout its compile steps.

Installer script options#

The installation script has several options that can be manipulated through environment variables.

Variable Description Default Value
VERSION The version of pixi getting installed, can be used to up- or down-grade. latest
PIXI_HOME The location of the binary folder. $HOME/.pixi
PIXI_ARCH The architecture the pixi version was built for. uname -m
PIXI_NO_PATH_UPDATE If set the $PATH will not be updated to add pixi to it.
TMP_DIR The temporary directory the script uses to download to and unpack the binary from. /tmp

For example, on Apple Silicon, you can force the installation of the x86 version:

PIXI_ARCH=x86_64 curl -fsSL https://pixi.sh/install.sh | bash
Or set the version
PIXI_VERSION=v0.18.0 curl -fsSL https://pixi.sh/install.sh | bash

The installation script has several options that can be manipulated through environment variables.

Variable Environment variable Description Default Value
PixiVersion PIXI_VERSION The version of pixi getting installed, can be used to up- or down-grade. latest
PixiHome PIXI_HOME The location of the installation. $Env:USERPROFILE\.pixi
NoPathUpdate If set, the $PATH will not be updated to add pixi to it.

For example, set the version using:

iwr -useb https://pixi.sh/install.ps1 | iex -Args "-PixiVersion v0.18.0"

Update#

Updating is as simple as installing, rerunning the installation script gets you the latest version.

pixi self-update
Or get a specific pixi version using:
pixi self-update --version x.y.z

Note

If you've used a package manager like brew, mamba, conda, paru etc. to install pixi. It's preferable to use the built-in update mechanism. e.g. brew upgrade pixi.

Uninstall#

To uninstall pixi from your system, simply remove the binary.

rm ~/.pixi/bin/pixi
$PIXI_BIN = "$Env:LocalAppData\pixi\bin\pixi"; Remove-Item -Path $PIXI_BIN

After this command, you can still use the tools you installed with pixi. To remove these as well, just remove the whole ~/.pixi directory and remove the directory from your path.