A lightweight version manager for the Crystal programming language, inspired by rbenv.
crenv is a version manager for the Crystal programming language, similar to rbenv for Ruby. It allows developers to install multiple versions of Crystal and switch between them seamlessly for different projects or environments. The tool uses shims to automatically direct Crystal and Shards commands to the correct installed version.
Crystal developers who work on multiple projects requiring different Crystal versions, or those who need to test their code against various Crystal releases. It's particularly useful for teams and open-source contributors.
crenv offers a lightweight, predictable, and plugin-based approach to Crystal version management, with seamless integration into the anyenv ecosystem. Its clean and modular codebase makes it easy to understand and extend compared to more monolithic alternatives.
:gem: Crystal version manager like rbenv.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses lightweight shims to automatically route Crystal and Shards commands to the correct installed version, ensuring seamless version switching without manual path adjustments, as described in the README.
Extensible via plugins like crystal-build for installing new Crystal versions, keeping the core tool minimal and focused, with installation handled separately to maintain modularity.
Can be installed and managed as part of the anyenv ecosystem, providing a unified approach for multiple language environments, with simple commands like 'anyenv install crenv'.
Designed to be modular and easy to understand, even for those not deeply familiar with shell scripting, as highlighted in the README, making it accessible for contributions and customization.
The core crenv lacks built-in version installation; users must separately install the crystal-build plugin, adding an extra step and potential point of failure for setup.
Updating requires pulling from git repositories for both crenv and its plugins, as noted in the README, which is less convenient and error-prone compared to automated package managers.
Unlike tools like asdf, crenv only manages Crystal versions, forcing users to juggle multiple version managers for polyglot projects rather than using a single unified solution.