uvm

Crates.iouvm
lib.rsuvm
version0.1.0-alpha.10
sourcesrc
created_at2024-02-16 09:16:48.441572
updated_at2024-02-17 03:19:56.868651
descriptionUnified version manager, support Java, Golang, NodeJS.
homepage
repositoryhttps://github.com/jinyuli/uvm
max_upload_size
id1142265
size252,220
(jinyuli)

documentation

README

UVM

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.

Install

Features

Golang

  • list all released versions.
  • list local installed versions.
  • install a released version.
  • use an installed version.
  • create a virtual environment(venv) in a workspace.
  • uninstall an installed version.

Node

  • list all released versions.
  • list local installed versions.
  • install a released version.
  • use an installed version.
  • create a virtual environment(venv) in a workspace.
  • uninstall an installed version.

Java

  • support OpenJDK and Amazon Corretto.
  • list all released versions.
  • list local installed versions.
  • install a released version.
  • use an installed version.
  • create a virtual environment(venv) in a workspace.
  • uninstall an installed version.

Usage

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

TODO

  • configuration for uvm
  • support mirrors
  • support more languages
  • show progress while downloading files
  • support more shells for venv

Acknowledgement

Thanks to tools like nvm, n, rvm, g, using-virtual-environments for providing valuable ideas.

Commit count: 0

cargo fmt