DEV Community

Shunsuke Suzuki
Shunsuke Suzuki

Posted on

1

Why I use aqua

aqua is a declarative CLI Version Manager written in Go.

https://aquaproj.github.io/

asciicast

In this post, I describe why I use aqua.

Why I use aqua

  • Align tool versions in team and CI
    • Solve the problem due to the difference of tool versions
  • Manage tools and their versions for projects as code declaratively, and provide an unified way to install tools
    • aqua supports changing tool versions per project
  • Stop developing shell scripts and GitHub Actions to install tools per tool and per project
  • Update tools with Renovate easily
  • Install tools hosted in private repositories

Why not asdf?

asdf is used for the similar purpose, but I use aqua. Why?

  • Some tools don't have asdf plugins for them
  • Good Experience
    • You don't have to install plugins
    • Tools are installed automatically
    • Search tools by aqua g is useful
  • aqua doesn't force to use aqua in other projects and globally
  • Easy to support new tools
    • It is easier to contribute to aqua-registry than to develop asdf plugin
  • Easy to introduce aqua to teams and projects because aqua is easy and doesn't force to use aqua in other projects and globally
  • Easy to update tools with Renovate
  • aqua supports splitting configuration files, so it is easy to filter builds in CI by changed file paths

About the difference between aqua and asf, please see Comparison - asdf too.

Image of Datadog

The Essential Toolkit for Front-end Developers

Take a user-centric approach to front-end monitoring that evolves alongside increasingly complex frameworks and single-page applications.

Get The Kit

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay