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 : )
Screencast.from.25-06-24.01.49.22.PM.IST.webm
- 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
- Node
- Go
More languages to be added soon!
You can install mlvm from Cargo directly
cargo install mlvm
- 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 :)
- 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).
If you read till here, thanks for showing interest in the project :)