chshersh / tool-sync

🧰 Download pre-built binaries of all your favourite tools with a single command
https://crates.io/crates/tool-sync
Mozilla Public License 2.0
69 stars 16 forks source link

[#107] Remove dynamically-linked 'tool-sync' asset #144

Closed jim4067 closed 1 year ago

jim4067 commented 1 year ago

Resolves #107

Additional tasks

jim4067 commented 1 year ago

not sure whether it is related but, I am IO error that the config file doesn't exists.

Even after creating the file and adding the default config, the error still persists Screenshot from 2022-10-20 16-24-38

MitchellBerend commented 1 year ago

It works with mine but I get a different error, maybe there is a typo in your file name?

mitchell@mitchell-workstation:~/rust/tool-sync$ cargo run -- --config tool.toml install tool-sync 
   Compiling tool-sync v0.2.0 (/home/mitchell/rust/tool-sync)
    Finished dev [unoptimized + debuginfo] target(s) in 4.09s
     Running `target/debug/tool --config tool.toml install tool-sync`
🔄  Fetching info about 1 tools (this may take a few seconds)...                                                                                                          None
❌  tool-sync 
Multiple name matches found for this asset:

     * tool-x86_64-unknown-linux-musl.sha256
     * tool-x86_64-unknown-linux-musl.tar.gz

Please add one of these to the config.
🔄  All done!                                                                                                                                                             📦  Estimated total download size: 0B
Nothing to sync or encountered multiple errors prefetching tools.

------------------------------------------------------------------------------------------------------------------------

mitchell@mitchell-workstation:~/rust/tool-sync$ cat tool.toml 
# This configuration is automatically generated by tool-sync 0.2.0
# https://github.com/chshersh/tool-sync
#######################################
#
# Installation directory for all the tools:
store_directory = "$HOME/rust/tool-sync/bin"
#proxy = "http://10.10.0.1:8000"
#
# tool-sync provides native support for some of the tools without the need to
# configure them. Uncomment all the tools you want to install with a single
# 'tool sync' command:
#
[bat]
[difftastic]
[exa]
[fd]
[github]
[ripgrep]
[tool-sync]
#
# You can configure the installation of any tool by specifying corresponding options:
#
#[github]  # Name of the tool (new or one of the hardcoded to override default settings)
#    owner     = "cli"  # GitHub repository owner
#    repo      = "cli"     # GitHub repository name
#    exe_name  = "gh"          # Executable name inside the asset
#
#     Uncomment to download a specific version or tag.
#     Without this tag latest will be used
#     tag       = "13.0.0"

#     Asset name to download on linux OSes
#    asset_name.linux = "linux_amd64.tar.gz"

#     Uncomment if you want to install on macOS as well
#     asset_name.macos = "apple-darwin"

#     Uncomment if you want to install on Windows as well
#     asset_name.windows = "x86_64-pc-windows-msvc"
jim4067 commented 1 year ago

A question

MitchellBerend commented 1 year ago

You can generate a default by running tool default-config > ~/.tool.toml but this is a manual step.

jim4067 commented 1 year ago

You can generate a default by running tool default-config > ~/.tool.toml but this is a manual step.

@MitchellBerend Maybe it can be a future feature request to create the file with default configuration. As I am on Linux, I think this will require implementation of #71 first

jim4067 commented 1 year ago

@chshersh I tried installing it but the connection timed out (multiple times).

I then tried installing exa as a control and it worked, not sure what the error was Screenshot from 2022-10-20 18-04-37

MitchellBerend commented 1 year ago

What distro are you running @jim4067?

jim4067 commented 1 year ago

@MitchellBerend I'm running Pop OS

NAME="Pop!_OS" VERSION="22.04 LTS" VERSION_ID="22.04" VERSION_CODENAME=jammy UBUNTU_CODENAME=jammy

MitchellBerend commented 1 year ago

Huh, thats weird Im running ubuntu 22.04 lts. Can you follow that link in your browser or does that also time out?

Distributor ID: Ubuntu Description: Ubuntu 22.04 LTS Release: 22.04 Codename: jammy

jim4067 commented 1 year ago

Huh, thats weird Im running ubuntu 22.04 lts. Can you follow that link in your browser or does that also time out?

Distributor ID: Ubuntu Description: Ubuntu 22.04 LTS Release: 22.04 Codename: jammy

I think I was having connection problems.

Similar issue of multiple name matches

chshersh commented 1 year ago

The changes in this PR look great and CI finally passes! 🎉 Happy to merge the PR 🚢

As for generating the default configuration, this was discussed before. I don't think we need to do this but we still can improve UX. I created a separate issue to improve the error message when there's no configuration found: