Add one-liner for installing cargo-binstall on Linux/MacOS (#1074)

Fixed #1073

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
This commit is contained in:
Jiahao XU 2023-05-24 18:22:41 +10:00 committed by GitHub
parent 306f5d7e3d
commit c9806cce78
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 40 additions and 0 deletions

View file

@ -15,6 +15,12 @@ You probably want to **[see this page as it was when the latest version was publ
## Installation ## Installation
Here are the one-liners for installing pre-compiled `cargo-binstall` binary from release on Linux and acOS:
```
curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
```
To get started _using_ `cargo-binstall` first install the binary (either via `cargo install cargo-binstall` or by downloading a pre-compiled [release](https://github.com/cargo-bins/cargo-binstall/releases)), then extract it using `tar` or `unzip` and move it into `$HOME/.cargo/bin`. To get started _using_ `cargo-binstall` first install the binary (either via `cargo install cargo-binstall` or by downloading a pre-compiled [release](https://github.com/cargo-bins/cargo-binstall/releases)), then extract it using `tar` or `unzip` and move it into `$HOME/.cargo/bin`.
We recommend using the pre-compiled ones because we optimize those more than a standard source build does. We recommend using the pre-compiled ones because we optimize those more than a standard source build does.

View file

@ -0,0 +1,34 @@
#!/bin/bash
set -euxo pipefail
cd "$(mktemp -d)"
base_url="https://github.com/cargo-bins/cargo-binstall/releases/latest/download/cargo-binstall-"
os="$(uname -o)"
if [ "$os" == "Darwin" ]; then
url="${base_url}universal-apple-darwin.zip"
curl -LO --proto '=https' --tlsv1.2 -sSf "$url"
unzip cargo-binstall-universal-apple-darwin.zip
elif [ "$os" == "GNU/Linux" ]; then
machine="$(uname -m)"
target="${machine}-unknown-linux-musl"
if [ "$machine" == "armv7" ]; then
target="${target}eabihf"
fi
url="${base_url}${target}.tgz"
curl -L --proto '=https' --tlsv1.2 -sSf "$url" | tar -xvzf -
else
echo "Unupporteed OS ${os}"
exit 1
fi
./cargo-binstall -y --force cargo-binstall
if ! [[ ":$PATH:" == *":$HOME/.cargo/bin:"* ]]; then
echo
printf "\033[0;31mYour path is missing ~/.cargo/bin, you might want to add it.\033[0m\n"
echo
fi