Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/prantlf/vup
Upgrades to the latest version of V, or manages more versions on the same machine, supporting all platforms including RISC-V, as simple es rustup.
https://github.com/prantlf/vup
bash install shell version version-manager vlang zsh
Last synced: 4 months ago
JSON representation
Upgrades to the latest version of V, or manages more versions on the same machine, supporting all platforms including RISC-V, as simple es rustup.
- Host: GitHub
- URL: https://github.com/prantlf/vup
- Owner: prantlf
- License: mit
- Created: 2024-08-10T19:26:23.000Z (6 months ago)
- Default Branch: master
- Last Pushed: 2024-08-18T16:25:39.000Z (6 months ago)
- Last Synced: 2024-09-29T07:40:14.424Z (5 months ago)
- Topics: bash, install, shell, version, version-manager, vlang, zsh
- Language: Shell
- Homepage:
- Size: 29.3 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# V Upgrader and Version Manager
Upgrades to the latest version of V, or manages more versions of V on the same machine, supporting all platforms including RISC-V, as simple es `rustup`.
* Small. Written in `bash`, easily extensible.
* Fast. Downloads and unpacks pre-built binary builds.
* Portable. Writes only to the user home directory.
* Simple. Switches the version globally, no environment variable changes needed.
* Efficient. Just run `vup up`.Platforms: `darwin-amd64`, `darwin-arm64`, `linux-amd64`, `linux-arm64`, `linux-riscv64`, `windows-x64`.
## Getting Started
Make sure that you have `bash` 4 or newer and `curl` available, execute the following command:
curl -fSs https://raw.githubusercontent.com/prantlf/vup/master/install.sh | bash
Before you continue, make sure that you have the following tools available: `curl`, `grep`, `jq`, `ln`, `rm`, `rmdir`, `sed`, `tar` (non-Windows), `uname`, `unxz` (non-Windows), `unzip` (Windows). It's likely that `jq` will be missing. You can install it like this on Debian: `apt-get install -y jq`.
Install the latest version of V, if it hasn't been installed yet:
vup install latest
Upgrade both the installer script and the V language, if they're not the latest versions, and delete the previously active latest version from the disk too:
vup up
## Installation
Make sure that you have `bash` 4 or newer and `curl` available, execute the following command:
curl -fSs https://raw.githubusercontent.com/prantlf/vup/master/install.sh | bash
Both the `vup` and `v` should be executable in any directory via the `PATH` environment variable. The installer script will modify the RC-file of the shell, from which you launched it. The following RC-files are supported:
~/.bashrc
~/.zshrc
~/.config/fish/config.fishIf you use other shell or more shells, update the other RC-files by putting both the installer directory and the V binary directory to `PATH`, for example:
$HOME/.vup:$HOME/.v:$PATH
Start a new shell after the installer finishes. Or extend the `PATH` in the current shell as the instructions on the console will tell you.
## Locations
| Path | Description |
|:---------|:-----------------------------------------------------|
| `~/.vup` | directory with the installer script and versions of V |
| `~/.v` | symbolic link to the currently active version of V |For example, with the V weekly.2024.32 activated:
/home/prantlf/.vup
├── 0.4.7 (another version)
├── vup (installer script)
└── weekly.2024.32 (linked to /home/prantlf/.v)## Usage
vup [version]
Tasks:
current print the currently selected version of V
latest print the latest version of V for download
local print versions of V ready to be selected
remote print versions of V available for download
update update this tool to the latest version
upgrade upgrade V to the latest and remove the current version
up perform both update and upgrade tasks
install add the specified or the latest version of V
uninstall remove the specified version of V
use use the specified or the latest version of V
help print usage instructions for this tool
version print the version of this toolYou can enter just `MAJ` or `MAJ.MIN` as ``, instead of the full `MAJ.MIN.PAT`. When using the `install` or `use` tasks, the *most* recent full version that starts by the entered partial version will be picked. When using the `uninstall` task, the *least* recent full version that starts by the entered partial version will be picked.
## Debugging
If you enable `bash` debugging, every line of the script will be printed on the console. You'll be able to see values of local variables and follow the script execution:
bash -x vup ...
You can debug the installer too:
curl -fSs https://raw.githubusercontent.com/prantlf/vup/master/install.sh | bash -x
## Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Lint and test your code.
## License
Copyright (c) 2024 Ferdinand Prantl
Licensed under the MIT license.