It is pretty useful to versioning that the package management system like apt
or yum
.
But we have to manage ourselves about executables in GitHub Releases.
Examples:
cd /tmp
wget https://github.com/jiro4989/nimjson/releases/download/v1.2.8/nimjson_linux.tar.gz
tar xzf nimjson_linux.tar.gz
mkdir -p ~/bin
install -m 0755 ./nimjson_linux/bin/nimjson ~/bin/
We have to run those commands if we want to upgrade one.
I want to resolve this problem.
relma
can upgrade your executables that installed with relma
.
At first, you have to run relma init
to create configuration file.
Next, executables in GitHub Releases will be installed when you run relma init <release_url>
.
At default, symbolic links will be created in $HOME/relma/bin
.
The entities will be stored in $HOME/relma/releases/<owner/repo>
.
Examples:
relma init
relma install https://github.com/jiro4989/nimjson/releases/download/v1.2.8/nimjson_linux.tar.gz
$HOME/relma/releases.json
has informations of installed releases.
And you can install releases with releases.json
.
Examples:
relma install -f releases.json
Please you run below if you want to upgrade all releases.
relma update
relma upgrade --yes
Please you run below if you want to upgrade specific releases.
relma upgrade --yes <owner/repo>
# ex:
# relma upgrade --yes jiro4989/nimjson
<owner/repo>
is the release name in relma
.
Please run below if you want to check those.
relma list
Please you run below if you want to uninstall specific releases.
relma uninstall <owner/repo>
# ex:
# relma uninstall jiro4989/nimjson
You can install relma
if you have Go compiler.
But relma --version
always prints dev
.
Run below:
go install github.com/jiro4989/relma@latest
Or, you can download and install from GitHub Releases.