3 releases
0.1.2 | Oct 11, 2024 |
---|---|
0.1.1 | Jun 25, 2024 |
0.1.0 | Jun 25, 2024 |
#626 in Command line utilities
156 downloads per month
41KB
953 lines
Multi Language Version Manager
mlvm
is a command line tool that can be used to switch between versions for different languages.
Drop of a ✨ if you are here. It would mean a lot : )
Features
- Fast, written in Rust
- A single binary to control versions of multiple languages, without increasing the space
- Secure, as it uses symlinks instead of changing env.
- Easy to use
Current Supported Languages
- Node
- Go
More languages to be added soon!
Installation
Using Cargo
You can install mlvm from Cargo directly
cargo install mlvm
Build From Source
- Clone this repository by running the command
git clone https://github.com/shubhexists/mlvm
cd
into the directory and run
cargo build --release
This will create binaries for the project.
- Export the path of the executable (It is in the
/target/release/
directory .) For eg,
export PATH="$PATH:/home/jerry/Desktop/mlvm/target/release"
- You are all set to use mlvm :)
Major Commands
- To install a new version
mlvm language_name install version_number
Eg.
mlvm node install 16 // installs node 16
- To list all the versions of a language
mlvm language_name ls
- To remove a version of any language
mlvm language_name remove version_number
- To switch between different version of a language
mlvm language_name use version_number
- To execute a piece of code without actaully changing the version in the shell (Work In Progress)
mlvm language_name exec version_number file_to_execute
- To create version aliases for a language (Work In Progress)
mlvm language_name alias add version_number alias_name
For more details about commands, and flags like --debug
and --no-default
, Refer to COMMANDS.md (Work In Progress).
Thanks
If you read till here, thanks for showing interest in the project :)
Dependencies
~12–24MB
~360K SLoC