diff --git a/crates/uv-cli/src/lib.rs b/crates/uv-cli/src/lib.rs index f436f41ba..120e098e3 100644 --- a/crates/uv-cli/src/lib.rs +++ b/crates/uv-cli/src/lib.rs @@ -2769,6 +2769,11 @@ pub struct VenvArgs { /// /// Defaults to `clone` (also known as Copy-on-Write) on macOS, and `hardlink` on Linux and /// Windows. + /// + /// WARNING: The use of symlink link mode is discouraged, as they create tight coupling between + /// the cache and the target environment. For example, clearing the cache (`uv cache clear`) + /// will break all installed packages by way of removing the underlying source files. Use + /// symlinks with caution. #[arg(long, value_enum, env = EnvVars::UV_LINK_MODE)] pub link_mode: Option, @@ -4808,6 +4813,11 @@ pub struct ToolUpgradeArgs { /// /// Defaults to `clone` (also known as Copy-on-Write) on macOS, and `hardlink` on Linux and /// Windows. + /// + /// WARNING: The use of symlink link mode is discouraged, as they create tight coupling between + /// the cache and the target environment. For example, clearing the cache (`uv cache clear`) + /// will break all installed packages by way of removing the underlying source files. Use + /// symlinks with caution. #[arg( long, value_enum, @@ -5612,6 +5622,11 @@ pub struct InstallerArgs { /// /// Defaults to `clone` (also known as Copy-on-Write) on macOS, and `hardlink` on Linux and /// Windows. + /// + /// WARNING: The use of symlink link mode is discouraged, as they create tight coupling between + /// the cache and the target environment. For example, clearing the cache (`uv cache clear`) + /// will break all installed packages by way of removing the underlying source files. Use + /// symlinks with caution. #[arg( long, value_enum, @@ -5824,6 +5839,11 @@ pub struct ResolverArgs { /// /// Defaults to `clone` (also known as Copy-on-Write) on macOS, and `hardlink` on Linux and /// Windows. + /// + /// WARNING: The use of symlink link mode is discouraged, as they create tight coupling between + /// the cache and the target environment. For example, clearing the cache (`uv cache clear`) + /// will break all installed packages by way of removing the underlying source files. Use + /// symlinks with caution. #[arg( long, value_enum, @@ -6028,6 +6048,11 @@ pub struct ResolverInstallerArgs { /// /// Defaults to `clone` (also known as Copy-on-Write) on macOS, and `hardlink` on Linux and /// Windows. + /// + /// WARNING: The use of symlink link mode is discouraged, as they create tight coupling between + /// the cache and the target environment. For example, clearing the cache (`uv cache clear`) + /// will break all installed packages by way of removing the underlying source files. Use + /// symlinks with caution. #[arg( long, value_enum, diff --git a/crates/uv-install-wheel/src/linker.rs b/crates/uv-install-wheel/src/linker.rs index 37e37199b..cc08c17da 100644 --- a/crates/uv-install-wheel/src/linker.rs +++ b/crates/uv-install-wheel/src/linker.rs @@ -27,11 +27,6 @@ pub enum LinkMode { /// Hard link packages from the wheel into the `site-packages` directory. Hardlink, /// Symbolically link packages from the wheel into the `site-packages` directory. - /// - /// WARNING: The use of symlinks is discouraged, as they create tight coupling between the - /// cache and the target environment. For example, clearing the cache (`uv cache clear`) will - /// break all installed packages by way of removing the underlying source files. Use symlinks - /// with caution. Symlink, } diff --git a/crates/uv-settings/src/settings.rs b/crates/uv-settings/src/settings.rs index 5eaa7e2eb..b2c10107b 100644 --- a/crates/uv-settings/src/settings.rs +++ b/crates/uv-settings/src/settings.rs @@ -639,7 +639,7 @@ pub struct ResolverInstallerOptions { default = "[]", value_type = "dict", example = r#" - [extra-build-dependencies] + [extra-build-dependencies] pytest = ["setuptools"] "# )] @@ -685,6 +685,11 @@ pub struct ResolverInstallerOptions { /// /// Defaults to `clone` (also known as Copy-on-Write) on macOS, and `hardlink` on Linux and /// Windows. + /// + /// WARNING: The use of symlink link mode is discouraged, as they create tight coupling between + /// the cache and the target environment. For example, clearing the cache (`uv cache clear`) + /// will break all installed packages by way of removing the underlying source files. Use + /// symlinks with caution. #[option( default = "\"clone\" (macOS) or \"hardlink\" (Linux, Windows)", value_type = "str", @@ -1568,6 +1573,11 @@ pub struct PipOptions { /// /// Defaults to `clone` (also known as Copy-on-Write) on macOS, and `hardlink` on Linux and /// Windows. + /// + /// WARNING: The use of symlink link mode is discouraged, as they create tight coupling between + /// the cache and the target environment. For example, clearing the cache (`uv cache clear`) + /// will break all installed packages by way of removing the underlying source files. Use + /// symlinks with caution. #[option( default = "\"clone\" (macOS) or \"hardlink\" (Linux, Windows)", value_type = "str", diff --git a/docs/reference/cli.md b/docs/reference/cli.md index f75f629d2..5b30b98be 100644 --- a/docs/reference/cli.md +++ b/docs/reference/cli.md @@ -151,6 +151,7 @@ uv run [OPTIONS] [COMMAND]
  • subprocess: Use the keyring command for credential lookup
  • The method to use when installing packages from the global cache.

    Defaults to clone (also known as Copy-on-Write) on macOS, and hardlink on Linux and Windows.

    +

    WARNING: The use of symlink link mode is discouraged, as they create tight coupling between the cache and the target environment. For example, clearing the cache (uv cache clear) will break all installed packages by way of removing the underlying source files. Use symlinks with caution.

    May also be set with the UV_LINK_MODE environment variable.

    Possible values:

    The method to use when installing packages from the global cache.

    Defaults to clone (also known as Copy-on-Write) on macOS, and hardlink on Linux and Windows.

    +

    WARNING: The use of symlink link mode is discouraged, as they create tight coupling between the cache and the target environment. For example, clearing the cache (uv cache clear) will break all installed packages by way of removing the underlying source files. Use symlinks with caution.

    May also be set with the UV_LINK_MODE environment variable.

    Possible values:

    The method to use when installing packages from the global cache.

    Defaults to clone (also known as Copy-on-Write) on macOS, and hardlink on Linux and Windows.

    +

    WARNING: The use of symlink link mode is discouraged, as they create tight coupling between the cache and the target environment. For example, clearing the cache (uv cache clear) will break all installed packages by way of removing the underlying source files. Use symlinks with caution.

    May also be set with the UV_LINK_MODE environment variable.

    Possible values:

    The method to use when installing packages from the global cache.

    Defaults to clone (also known as Copy-on-Write) on macOS, and hardlink on Linux and Windows.

    +

    WARNING: The use of symlink link mode is discouraged, as they create tight coupling between the cache and the target environment. For example, clearing the cache (uv cache clear) will break all installed packages by way of removing the underlying source files. Use symlinks with caution.

    May also be set with the UV_LINK_MODE environment variable.

    Possible values:

    The method to use when installing packages from the global cache.

    Defaults to clone (also known as Copy-on-Write) on macOS, and hardlink on Linux and Windows.

    +

    WARNING: The use of symlink link mode is discouraged, as they create tight coupling between the cache and the target environment. For example, clearing the cache (uv cache clear) will break all installed packages by way of removing the underlying source files. Use symlinks with caution.

    May also be set with the UV_LINK_MODE environment variable.

    Possible values:

    The method to use when installing packages from the global cache.

    This option is only used when building source distributions.

    Defaults to clone (also known as Copy-on-Write) on macOS, and hardlink on Linux and Windows.

    +

    WARNING: The use of symlink link mode is discouraged, as they create tight coupling between the cache and the target environment. For example, clearing the cache (uv cache clear) will break all installed packages by way of removing the underlying source files. Use symlinks with caution.

    May also be set with the UV_LINK_MODE environment variable.

    Possible values:

    The method to use when installing packages from the global cache.

    This option is only used when building source distributions.

    Defaults to clone (also known as Copy-on-Write) on macOS, and hardlink on Linux and Windows.

    +

    WARNING: The use of symlink link mode is discouraged, as they create tight coupling between the cache and the target environment. For example, clearing the cache (uv cache clear) will break all installed packages by way of removing the underlying source files. Use symlinks with caution.

    May also be set with the UV_LINK_MODE environment variable.

    Possible values:

    The method to use when installing packages from the global cache.

    This option is only used when building source distributions.

    Defaults to clone (also known as Copy-on-Write) on macOS, and hardlink on Linux and Windows.

    +

    WARNING: The use of symlink link mode is discouraged, as they create tight coupling between the cache and the target environment. For example, clearing the cache (uv cache clear) will break all installed packages by way of removing the underlying source files. Use symlinks with caution.

    May also be set with the UV_LINK_MODE environment variable.

    Possible values:

    The method to use when installing packages from the global cache.

    Defaults to clone (also known as Copy-on-Write) on macOS, and hardlink on Linux and Windows.

    +

    WARNING: The use of symlink link mode is discouraged, as they create tight coupling between the cache and the target environment. For example, clearing the cache (uv cache clear) will break all installed packages by way of removing the underlying source files. Use symlinks with caution.

    May also be set with the UV_LINK_MODE environment variable.

    Possible values:

    The method to use when installing packages from the global cache.

    Defaults to clone (also known as Copy-on-Write) on macOS, and hardlink on Linux and Windows.

    +

    WARNING: The use of symlink link mode is discouraged, as they create tight coupling between the cache and the target environment. For example, clearing the cache (uv cache clear) will break all installed packages by way of removing the underlying source files. Use symlinks with caution.

    May also be set with the UV_LINK_MODE environment variable.

    Possible values:

    The method to use when installing packages from the global cache.

    Defaults to clone (also known as Copy-on-Write) on macOS, and hardlink on Linux and Windows.

    +

    WARNING: The use of symlink link mode is discouraged, as they create tight coupling between the cache and the target environment. For example, clearing the cache (uv cache clear) will break all installed packages by way of removing the underlying source files. Use symlinks with caution.

    May also be set with the UV_LINK_MODE environment variable.

    Possible values:

    The method to use when installing packages from the global cache.

    This option is only used when building source distributions.

    Defaults to clone (also known as Copy-on-Write) on macOS, and hardlink on Linux and Windows.

    +

    WARNING: The use of symlink link mode is discouraged, as they create tight coupling between the cache and the target environment. For example, clearing the cache (uv cache clear) will break all installed packages by way of removing the underlying source files. Use symlinks with caution.

    May also be set with the UV_LINK_MODE environment variable.

    Possible values:

    The method to use when installing packages from the global cache.

    Defaults to clone (also known as Copy-on-Write) on macOS, and hardlink on Linux and Windows.

    +

    WARNING: The use of symlink link mode is discouraged, as they create tight coupling between the cache and the target environment. For example, clearing the cache (uv cache clear) will break all installed packages by way of removing the underlying source files. Use symlinks with caution.

    May also be set with the UV_LINK_MODE environment variable.

    Possible values:

    The method to use when installing packages from the global cache.

    Defaults to clone (also known as Copy-on-Write) on macOS, and hardlink on Linux and Windows.

    +

    WARNING: The use of symlink link mode is discouraged, as they create tight coupling between the cache and the target environment. For example, clearing the cache (uv cache clear) will break all installed packages by way of removing the underlying source files. Use symlinks with caution.

    May also be set with the UV_LINK_MODE environment variable.

    Possible values:

    The method to use when installing packages from the global cache.

    This option is only used for installing seed packages.

    Defaults to clone (also known as Copy-on-Write) on macOS, and hardlink on Linux and Windows.

    +

    WARNING: The use of symlink link mode is discouraged, as they create tight coupling between the cache and the target environment. For example, clearing the cache (uv cache clear) will break all installed packages by way of removing the underlying source files. Use symlinks with caution.

    May also be set with the UV_LINK_MODE environment variable.

    Possible values:

    The method to use when installing packages from the global cache.

    This option is only used when building source distributions.

    Defaults to clone (also known as Copy-on-Write) on macOS, and hardlink on Linux and Windows.

    +

    WARNING: The use of symlink link mode is discouraged, as they create tight coupling between the cache and the target environment. For example, clearing the cache (uv cache clear) will break all installed packages by way of removing the underlying source files. Use symlinks with caution.

    May also be set with the UV_LINK_MODE environment variable.

    Possible values: