Install
The Trunk Launcher
Trunk uses a launcher to automatically install the appropriate CLI for your platform. The launcher is a bash script that downloads the appropriate Trunk CLI version and runs it. The launcher invisibly runs the Trunk CLI version specified in a project's .trunk/trunk.yaml
file. The actual Trunk CLI is a single binary that is cached locally in ~/.cache/trunk
and is updated automatically.
Install the Launcher
The Trunk CLI can be installed in many different ways, depending on your use case.
Using NPM
If your project uses a package.json
, you can specify the Trunk Launcher as a dependency so your developers can start using Trunk after installing Node dependencies.
Then add Trunk Launcher in your package.json
as a script:
Using cURL
You can install the Trunk Launcher script directly by downloading it through cURL. The launcher script supports both macOS and Linux environments.
To allow your teammates to use trunk
without installing anything, the launcher can be committed directly into your repo:
When the launcher is called for the first time by your teammates, the Trunk Launcher will download, manage, and run the appropriate binary for the environment.
Using Homebrew
You can run the following command if you prefer to install this tool via homebrew. Keep in mind that other developers on your team will also have to install manually.
Using Windows
From git-bash
or msys2
, download the Bash launcher and add it to your PATH
:
From powershell
, download the powershell launcher:
Ensure you can execute powershell scripts:
You can then execute trunk as .\trunk.ps1
.
Compatibility
Trunk only supports Windows with the following versions and above:
Tool | Where to Modify | Minimum Required Version |
---|---|---|
CLI |
|
|
Plugins |
|
|
VSCode | Reload VSCode to update |
|
You will also need to install C and C++ runtime libraries in order to run some linters.
Uninstall instructions
From your system
Trunk has a very minimal installation, and therefore, there's not much to uninstall. The two system paths we use are:
/usr/local/bin/trunk
: the Trunk Launcher~/.cache/trunk
: cached versions of the trunk cli, linters, formatters, etc.
You can delete those two paths to uninstall.
From a repo
To cleanly remove Trunk from a particular repo, run:
VS Code extension
To uninstall the Trunk VS Code extension, do so as you would any extension (docs). Then reload VS Code.
Binary download (not recommended)
You can directly download the trunk
binary. We don't recommend this mode of operation because your ability to version the tool through trunk.yaml
will not function when launching trunk
directly from a downloaded binary. Regardless you can bypass the launcher support by downloading the prebuilt binaries here:
variable | options |
---|---|
version | the semver of the binary you want to download |
platform | 'darwin`, 'linux' |
Pre-installing tools
Trunk hermetically manages all the tools that it runs. To do this, it will download and install them into its cache folder only when they are needed. If you would like to ensure that all tools are installed ahead of time, then you can use the trunk install
command. This may be useful if you want to prepare to work offline or if you would like to include the tools in a docker image. On Linux and macOS you may find the cache folder at $HOME/.cache/trunk
.
Last updated