We're excited to announce the release of BVM (BoxLang Version Manager), a powerful new tool that makes managing multiple BoxLang installations effortless across Mac, Linux, and Windows Subsystem for Linux (WSL). Whether you're a BoxLang developer working on multiple projects or testing across different versions, BVM is designed to streamline your workflow.
Why BVM?
As BoxLang continues to evolve rapidly with new features and improvements, developers often find themselves needing to work with different versions simultaneously. You might be maintaining a production application on BoxLang 1.2.0 while experimenting with cutting-edge features in the latest snapshot release. Until now, managing these different versions meant manual installations, path juggling, and potential conflicts. It's also fully documented: https://boxlang.ortusbooks.com/getting-started/installation/boxlang-version-manager-bvm
BVM changes all that.
What Makes BVM Unique?
BVM brings the simplicity and power of popular version managers like nvm
(Node.js) and jenv
(Java) to the BoxLang ecosystem. Here's what makes it stand out:
🔄 Effortless Version Switching
Switch between BoxLang versions with a single command:
bvm use 1.2.0
bvm use latest
bvm use snapshot
📦 Complete Environment Management
Each BVM installation includes everything you need:
- BoxLang runtime (
boxlang
,bx
) - BoxLang MiniServer (
boxlang-miniserver
) - All helper scripts (
install-bx-module
,install-bx-site
) - Seamless PATH integration
⚡ Developer-Friendly Commands
BVM includes convenient aliases and shortcuts:
bvm ls # List installed versions
bvm ls-remote # See what's available
bvm rm 1.1.0 # Remove old versions
bvm doctor # Health check
🚀 Zero Friction Installation
Get up and running in seconds:
curl -fsSL https://downloads.ortussolutions.com/ortussolutions/boxlang-quick-installer/install-bvm.sh | bash
Real-World Workflows Made Simple
The Multi-Project Developer
Luis works on three BoxLang projects: a CLI app on BoxLang 1.1.0, a current project on 1.2.0, and an experimental project testing snapshot features. With BVM:
# Working on cli app
cd ~/projects/cli-app
bvm use 1.1.0
boxlang app.bx
# Switching to current project
cd ~/projects/current-app
bvm use 1.2.0
boxlang-miniserver --port 8080
# Testing new features
cd ~/projects/experimental
bvm use snapshot
boxlang test-new-features.bx
The BoxLang Module Developer
Mike maintains several BoxLang modules and needs to test compatibility across versions:
# Test module against stable release
bvm use latest
install-bx-module my-module
boxlang run-tests.bx
# Test against development snapshot
bvm use snapshot
install-bx-module my-module
boxlang run-tests.bx
Platform Support: Mac, Linux, and WSL
BVM works seamlessly across all major development platforms:
- macOS: Full native support with Homebrew integration
- Linux: Tested on Ubuntu, Debian, RHEL, CentOS, and Fedora
- Windows Subsystem for Linux (WSL): Perfect for Windows developers who prefer Linux tooling
The installation experience is identical across all platforms, ensuring consistent behavior regardless of your development environment.
Coexisting with Single-Version Installations
One of BVM's strengths is its flexibility. You can choose the right tool for the right situation:
Use BVM when you need:
- Multiple BoxLang versions for different projects
- Easy switching between stable and snapshot releases
- Testing compatibility across versions
- Development flexibility
Use the single-version installer when you need:
- One BoxLang version system-wide
- Simplest possible setup
- Production server deployment
- Minimal overhead
Both approaches provide identical BoxLang functionality - BVM simply adds version management on top.
Migration Made Easy
Already using BoxLang with our single-version installer? Migrating to BVM is straightforward:
# Uninstall current BoxLang
sudo install-boxlang.sh --uninstall
# Install BVM
curl -fsSL https://downloads.ortussolutions.com/ortussolutions/boxlang-quick-installer/install-bvm.sh | bash
# Install your preferred version
bvm install latest
bvm use latest
# Verify everything works
bvm doctor
Your existing BoxLang home directory (~/.boxlang
) with modules and settings is preserved during migration.
Getting Started Today
Ready to try BVM? Getting started takes less than a minute:
1. Install BVM
curl -fsSL https://downloads.ortussolutions.com/ortussolutions/boxlang-quick-installer/install-bvm.sh | bash
2. Install BoxLang
bvm install latest
bvm use latest
3. Verify Installation
bvm doctor
boxlang --version
That's it! You now have a fully managed BoxLang environment.
The Future of BoxLang Development
BVM represents our commitment to making BoxLang development as smooth and productive as possible. As BoxLang continues to evolve with new features, performance improvements, and expanded capabilities, BVM ensures you can easily adopt new versions while maintaining stability for existing projects.
We're already working on exciting enhancements for future BVM releases:
- Windows native support (beyond WSL)
- Automatic version detection per project
- Integration with popular IDEs
- Team collaboration features
Join the BoxLang Community
BVM is open source and part of the broader BoxLang ecosystem. We'd love your feedback, contributions, and feature requests:
- Try it online: https://try.boxlang.io
- Documentation: https://boxlang.io/docs
- GitHub: https://github.com/ortus-boxlang/boxlang
- Community: https://boxlang.io/community
Get Started Now
Don't let version management slow down your BoxLang development. Install BVM today and experience the freedom to work with any BoxLang version, anytime:
curl -fsSL https://downloads.ortussolutions.com/ortussolutions/boxlang-quick-installer/install-bvm.sh | bash
Happy coding with BoxLang and BVM!
BVM is available now for Mac, Linux, and WSL. Windows native support is coming soon. For enterprise support and training, visit boxlang.io/plans.
Professional Open Source
BoxLang is a professional open-source product, with three different licences:
- Open-Source Apache2
- BoxLang +
- BoxLang ++
BoxLang is free, open-source software under the Apache 2.0 license. We encourage and support community contributions. BoxLang+ and BoxLang ++ are commercial versions offering support and enterprise features. Our licensing model is based on fairness and the golden rule: Do to others as you want them to do to you. No hidden pricing or pricing on cores, RAM, SaaS, multi-domain or ridiculous ways to get your money. Transparent and fair.
BoxLang is more than just a language; it's a movement.
Join us and redefine development on the JVM Ready to learn more? Explore BoxLang's Features, Documentation, and Community.
Join the BoxLang Community ⚡️
Be part of the movement shaping the future of web development. Stay connected and receive the latest updates on surrounding anything BoxLang
Subscribe to our newsletter for exclusive content.
Follow Us on Social media and don’t miss any news and updates:
Add Your Comment