BoxLang Version Manager (BVM)
BVM is a simple version manager for BoxLang, similar to jenv or nvm. It allows you to easily install, manage, and switch between different versions of BoxLang.
Last updated
Was this helpful?
BVM is a simple version manager for BoxLang, similar to jenv or nvm. It allows you to easily install, manage, and switch between different versions of BoxLang.
Last updated
Was this helpful?
BVM is a simple version manager for BoxLang, similar to jenv or nvm. It allows you to easily install, manage, and switch between different versions of BoxLang.
Choose BVM if you:
🔄 Work on multiple projects that might need different BoxLang versions
🧪 Want to test your code against different BoxLang releases
🚀 Need to switch between stable and snapshot versions
📦 Want centralized management of BoxLang installations
🛠️ Are a BoxLang developer or advanced user
Choose the single-version installer (install-boxlang.sh
) if you:
📌 Only need one BoxLang version system-wide
🎯 Want the simplest possible installation
🏢 Are setting up production servers with a specific BoxLang version
⚡ Want the fastest installation with minimal overhead
Both installers provide identical functionality:
✅ Same BoxLang runtime and MiniServer
✅ Same helper scripts (install-bx-module
, install-bx-site
, etc.)
✅ Same command-line tools (boxlang
, bx
, boxlang-miniserver
, etc.)
✅ Same installation quality and reliability
The only difference is that BVM adds version management capabilities on top.
📦 Install complete BoxLang environment - runtime, MiniServer, and helper scripts
🔄 Switch between versions easily - change your active BoxLang version with one command
📋 List installed versions - see what's installed locally with bvm list
or bvm ls
🌐 List remote versions - see what's available for download with bvm list-remote
or bvm ls-remote
🗑️ Clean uninstall - remove versions you no longer need with bvm uninstall
, bvm remove
, or bvm rm
🔍 Health check - verify your BVM installation with bvm doctor
or bvm health
🧹 Cache management - clean up downloaded files with bvm clean
🚀 Execute BoxLang components - run BoxLang, MiniServer through BVM with version management
🔗 Seamless integration - wrapper scripts make all tools available in PATH
⚡ Command aliases - convenient short aliases for all major commands
🛠️ Helper script integration - all BoxLang helper scripts work with active version
bvm install <version>
- Install a specific BoxLang version
bvm install latest
- Install latest stable release
bvm install snapshot
- Install latest development snapshot
bvm install 1.2.0
- Install specific version
bvm use <version>
- Switch to a specific BoxLang version
bvm current
- Show currently active BoxLang version
bvm uninstall <version>
- Uninstall a specific BoxLang version
Aliases: bvm remove <version>
, bvm rm <version>
bvm list
- List all installed BoxLang versions
Alias: bvm ls
bvm list-remote
- List available BoxLang versions for download
Alias: bvm ls-remote
bvm which
- Show path to current BoxLang installation
bvm version
- Show BVM version
Aliases: bvm --version
, bvm -v
bvm exec <args>
- Execute BoxLang with current version
Alias: bvm run <args>
bvm miniserver <args>
- Start BoxLang MiniServer with current version
Aliases: bvm mini-server <args>
, bvm ms <args>
bvm clean
- Clean cache and temporary files
bvm doctor
- Check BVM installation health
Alias: bvm health
bvm help
- Show help message
Aliases: bvm --help
, bvm -h
When you install a BoxLang version with BVM, it downloads and sets up:
BoxLang Runtime (boxlang
, bx
) - The main BoxLang interpreter
BoxLang MiniServer (boxlang-miniserver
, bx-miniserver
) - Web application server
install-bx-module - BoxLang module installer (available in PATH after installation)
install-bx-site - BoxLang site installer (available in PATH after installation)
Other utility scripts - Various helper tools
Wrapper scripts - BVM creates wrapper scripts so you can use boxlang
, bx
, boxlang-miniserver
, etc. directly
Version management - All tools automatically use the currently active BoxLang version
Helper script integration - All helper scripts work with the currently active BoxLang version
If you currently have BoxLang installed via install-boxlang.sh
and want to switch to BVM for version management:
Note: Your BoxLang home directory (~/.boxlang
) with modules, settings, and data will be preserved during migration.
curl - For downloading BoxLang releases
unzip - For extracting archives
jq - For parsing JSON (optional, fallback available)
Java 21+ - Required to run BoxLang
macOS (with Homebrew):
Ubuntu/Debian:
RHEL/CentOS/Fedora:
BVM automatically adds itself and the current BoxLang version to your PATH. After installation, restart your terminal or run:
Restart your terminal
Check that ~/.bvm/bin
is in your PATH
Run source ~/.bashrc
(or your shell's profile file)
Run bvm doctor
to check installation health
Verify the version exists with bvm list
Try bvm use <version>
again
Check your internet connection
Verify the version exists with bvm list-remote
Try clearing cache with bvm clean
This will check your BVM installation and identify any issues.
BVM is part of the BoxLang Quick Installer project. To contribute:
Fork the repository
Create a feature branch
Make your changes
Test thoroughly
Submit a pull request
Licensed under the Apache License, Version 2.0. See the LICENSE file for details.
🌐 Website: https://boxlang.io
📖 Documentation: https://boxlang.io/docs
💾 GitHub: https://github.com/ortus-boxlang/boxlang
💬 Community: https://boxlang.io/community
🧑💻 Try: https://try.boxlang.io
🫶 Professional Support: https://boxlang.io/plans