Crates.io | uvm |
lib.rs | uvm |
version | 0.1.0-alpha.10 |
source | src |
created_at | 2024-02-16 09:16:48.441572 |
updated_at | 2024-02-17 03:19:56.868651 |
description | Unified version manager, support Java, Golang, NodeJS. |
homepage | |
repository | https://github.com/jinyuli/uvm |
max_upload_size | |
id | 1142265 |
size | 252,220 |
uvm(unified version manager) is a command-line tool for Linux, Windows and MacOS, it aims to provide convenient methods to manage multiple versions of development kit for various progamming languages.
update uvm to latest version:
$ uvm update
list all released versions of Golang:
$ uvm go list
list installed versions of Golang:
$ uvm go list --local
1.20.1
* 1.20.10
1.21.6
install Golang 1.21.6:
$ uvm go install -v 1.21.6
switch default global Golang version to 1.21.6:
$ uvm go use -v 1.21.6
switch default global Golang version to 1.21.6:
$ uvm go use -v 1.21.6
create a virtual environment with Golang 1.20.1 in current folder:
$ uvm go venv -v 1.20.1
by default this will create a folder named .venv
activiate virtual environment:
$ source ./.venv/activiate.sh
(go)$
deactiviate virtual environment:
$ source ./.venv/deactiviate.sh
$
Node has similar commands.
Java is a little different, each command must specify vendor with --vendor
, currently supported vendors includs openjdk, corretto.
for example, install Java 20 from Amazon Corretto:
$ uvm java install -v 20 --vendor corretto
Thanks to tools like nvm, n, rvm, g, using-virtual-environments for providing valuable ideas.