/plushcap/analysis/bitrise/bitrise-post-a-deep-dive-into-asdf-and-version-managers

A deep dive into asdf and version managers

What's this blog post about?

Version managers are useful tools for managing different versions of programming languages and their associated tooling across multiple projects. They create project-specific environments where an explicitly defined tool version is active, not the system-wide installation. This helps to prevent hard-to-debug issues caused by version mismatches between local development, continuous integration (CI), and production environments. Some popular version managers include rbenv for Ruby, pyenv for Python, nvm for Node.js, fvm for Flutter, and mise for multiple languages in one tool. These tools work by hijacking the shell to delegate commands to the right version of a programming language or tool. They also record selected tool versions in config files and use shims to override the definition of certain binaries in the current shell environment.

Company
Bitrise

Date published
Sept. 26, 2024

Author(s)
Oliver Falvai

Word count
2357

Hacker News points
None found.

Language
English


By Matt Makai. 2021-2024.