mirror of
https://github.com/astral-sh/uv.git
synced 2025-07-09 22:35:01 +00:00

<!-- Thank you for contributing to uv! To help us out with reviewing, please consider the following: - Does this pull request include a summary of the change? (See below.) - Does this pull request include a descriptive title? - Does this pull request include references to any relevant issues? --> ## Summary I follow the advices from the IDE spell checker and grammar checker, fix some typos, and improve the docs.
54 lines
1.7 KiB
Markdown
54 lines
1.7 KiB
Markdown
# The uv installer
|
|
|
|
## Changing the installation path
|
|
|
|
By default, uv is installed to `~/.local/bin`. If `XDG_BIN_HOME` is set, it will be used instead.
|
|
Similarly, if `XDG_DATA_HOME` is set, the target directory will be inferred as
|
|
`XDG_DATA_HOME/../bin`.
|
|
|
|
To change the installation path, use `UV_INSTALL_DIR`:
|
|
|
|
=== "macOS and Linux"
|
|
|
|
```console
|
|
$ curl -LsSf https://astral.sh/uv/install.sh | env UV_INSTALL_DIR="/custom/path" sh
|
|
```
|
|
|
|
=== "Windows"
|
|
|
|
```pwsh-session
|
|
PS> powershell -ExecutionPolicy ByPass -c {$env:UV_INSTALL_DIR = "C:\Custom\Path";irm https://astral.sh/uv/install.ps1 | iex}
|
|
```
|
|
|
|
## Disabling shell modifications
|
|
|
|
The installer may also update your shell profiles to ensure the uv binary is on your `PATH`. To
|
|
disable this behavior, use `INSTALLER_NO_MODIFY_PATH`. For example:
|
|
|
|
```console
|
|
$ curl -LsSf https://astral.sh/uv/install.sh | env INSTALLER_NO_MODIFY_PATH=1 sh
|
|
```
|
|
|
|
If installed with `INSTALLER_NO_MODIFY_PATH`, subsequent operations, like `uv self update`, will not
|
|
modify your shell profiles.
|
|
|
|
## Unmanaged installations
|
|
|
|
In ephemeral environments like CI, use `UV_UNMANAGED_INSTALL` to install uv to a specific path while
|
|
preventing the installer from modifying shell profiles or environment variables:
|
|
|
|
```console
|
|
$ curl -LsSf https://astral.sh/uv/install.sh | env UV_UNMANAGED_INSTALL="/custom/path" sh
|
|
```
|
|
|
|
The use of `UV_UNMANAGED_INSTALL` will also disable self-updates (via `uv self update`).
|
|
|
|
## Passing options to the installation script
|
|
|
|
Using environment variables is recommended because they are consistent across platforms. However,
|
|
options can be passed directly to the installation script. For example, to see the available
|
|
options:
|
|
|
|
```console
|
|
$ curl -LsSf https://astral.sh/uv/install.sh | sh -s -- --help
|
|
```
|