6. Toolchain Management

This chapter describes how to manage toolchains using CriticalUp.

The examples in this chapter assume the following directory structure:

.
└── project
   └── criticalup.toml

Where the criticalup.toml contains the following content:

manifest-version = 1

[products.ferrocene]
release = "stable-24.05.0"
packages = [
   "rustc-${rustc-host}",
   "cargo-${rustc-host}",
   "rust-std-${rustc-host}"
]

CriticalUp understands ${rustc-host} to mean the target triple of the host operating system. These triple values are listed in Platforms.

Note

Options for criticalup.toml are detailed in the reference.

Caution

The stable-24.05.0 release only supports Linux. If you are using Windows or an Apple Silicon macOS device, pick the latest version in the nightly channel displayed in releases.ferrocene.dev.

6.1. Installing Toolchains

After installing CriticalUp and authenticating CriticalUp is ready to manage toolchains.

You can can change directory into the project and install the required toolchain.

cd project
criticalup install

To change the installed products, edit the criticalup.toml as desired. For example:

manifest-version = 1

[products.ferrocene]
release = "stable-24.05.0"
packages = [
   "rustc-${rustc-host}",
   "cargo-${rustc-host}",
   "rust-std-${rustc-host}",
   "rust-std-aarch64-unknown-none", # Line added
]

Then run the install command again:

criticalup install

When an internet connection is not available, a previously installed package can be reinstalled without using the network by passing the --offline flag.

6.2. Removing Toolchains

An installation can be removed by running the criticalup remove command from the directory containing the criticalup.toml:

cd project
criticalup remove

6.3. Cleaning Unused Toolchains

Over time CriticalUp’s stored installations or cache may accumulate artifacts that are no longer used. If CriticalUp’s state directory begins to consume too much disk space the clean command can help by deleting unused toolchains.

criticalup clean