0013-asdf-for-tool-version-control
26. Asdf for tool version control
Section titled “26. Asdf for tool version control”Date: 2020-05-05
Status
Section titled “Status”Accepted
Context
Section titled “Context”We use bunch of different languages. Making sure that everyone on the team is using the same version is important. We have used language specific tools in the past - NVM for node and RVM for ruby. They ended up conflicting with each other in some ways. They were also very similar but not exactly the same so sometimes we had problems keeping them both in sync.
asdf is not limited to a specific language. It has plugins for lots of languages and tools. This gives a common interface for all the tools being used.
JetBrains added asdf support to their tools - so the community is obviously growing.
Decision
Section titled “Decision”We will use asdf to control the version of all languages in the project.
Consequences
Section titled “Consequences”The adr tool we use came thru asdf. So far it has done a great job of managing versions for the application which includes ruby, python, elixir, node, and erlang.
This was especially important recently when the version of erlang needed to be very specific to correct a problem on Catalina (Mac OSX).