Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installing rye with --yes does not install interactive defaults #1081

Closed
eifinger opened this issue May 13, 2024 · 1 comment · Fixed by #1098
Closed

Installing rye with --yes does not install interactive defaults #1081

eifinger opened this issue May 13, 2024 · 1 comment · Fixed by #1098

Comments

@eifinger
Copy link
Contributor

When I install rye in interactive mode it will put use-uv=true as a default in the config file as defined in

rye/rye/src/cli/rye.rs

Lines 589 to 602 in 43ac3a3

if config_doc
.get("behavior")
.and_then(|x| x.get("use-uv"))
.is_none()
&& !matches!(mode, InstallMode::NoPrompts)
{
let use_uv = dialoguer::Select::with_theme(tui_theme())
.with_prompt("Select the preferred package installer")
.item("uv (fast, recommended)")
.item("pip-tools (slow, higher compatibility)")
.default(0)
.interact()?
== 0;
toml::ensure_table(config_doc, "behavior")["use-uv"] = toml_edit::value(use_uv);

When the interactive mode is disabled

NoPrompts,
nothing is being put in the config file.

I think this should be aligned.

@charliermarsh
Copy link
Member

I think this is less relevant now that uv is the default when omitted... but agree it's a bit odd.

charliermarsh added a commit that referenced this issue May 20, 2024
## Summary

Ensures that if the user runs in `InstallMode::NoPrompts`, we still
write the default (`use-uv = true`) to the configuration file.

Closes #1081.

## Test Plan

```
rye on  charlie/def:main
❯ cargo run self install -y
    Finished dev [unoptimized + debuginfo] target(s) in 0.08s
     Running `target/debug/rye self install -y`
Welcome to Rye!

This installer will install rye to /Users/crmarsh/.rye
This path can be changed by exporting the RYE_HOME environment variable.

Details:
  Rye Version: 0.34.0
  Platform: macos (aarch64)

Installed binary to /Users/crmarsh/.rye/shims/rye
Updated self-python installation at /Users/crmarsh/.rye/self

The rye directory /Users/crmarsh/.rye/shims was not detected on PATH.
It is highly recommended that you add it.
Added to PATH.
note: for this to take effect you will need to restart your shell or run this manually:

    source "$HOME/.rye/env"

To make it work with zsh, you might need to add this to your .zprofile:

    source "$HOME/.rye/env"

To make it work with fish, run this once instead:

    set -Ua fish_user_paths "$HOME/.rye/shims"

For more information read https://rye-up.com/guide/installation/

All done!
rye on  charlie/def:main
❯ cat /Users/crmarsh/.rye/config.toml
[behavior]
use-uv = true
global-python = true
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants