Skip to content

Commit

Permalink
Add one-liner for installing cargo-binstall on Linux/MacOS
Browse files Browse the repository at this point in the history
Fixed #1073

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
  • Loading branch information
NobodyXu committed May 24, 2023
1 parent 1c3f5ff commit c178d0a
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 0 deletions.
6 changes: 6 additions & 0 deletions README.md
Expand Up @@ -15,6 +15,12 @@ You probably want to **[see this page as it was when the latest version was publ

## 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`.
We recommend using the pre-compiled ones because we optimize those more than a standard source build does.

Expand Down
34 changes: 34 additions & 0 deletions install-from-binstall-release.sh
@@ -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

0 comments on commit c178d0a

Please sign in to comment.