Asdf is a tool for managing versions. It lets you manage versions for a bunch of different things, with just one version manager. (Instead of installing nvm and rbenv and pyenv and and and)
# It has comments
Asdf supports comments - lines starting with
# are comments. At first this wasn’t working for me - which made me realized the version that had been installed by the setup script I ran on my new work computer was old. I ran
asdf update and then I could comment.
# It supports project-level config
Docs on configuration suggest that an
.asdfrc file must exist at
$HOME/.asdfrc if you want to have configuration. But if you’re working on a project with others and want to change a setting (perhaps to set
legacy_version_file=yes, so you can keep the source of truth for the ruby version in
.ruby-version), you can also create a file called
.asdfrc in the root of your project. And when you run
asdf install there, those config options will be respected.
This isn’t working perfectly - I set the postgres version in
myproject/.asdrfc and asdf gave me the right version, but when I ran
bundle install in the same directory (using a legacy version of ruby & rails many other things probably; this could be fixed in current version), the
pg gem compilation wasn’t finding the right version of postgres, and I had to place the version in the
$HOME/.asdfrc directory anyways. There's probably another/better workaround, but it works for me for now. Even though it's currently a bit hacky, I like that the correct version for a given project can be listed right there in the project repository for others to read from.