Managing Multiple Tool Versions#

As projects evolve, different applications often require different versions of development tools. For example, one project may depend on an older version of the Silicon Labs Configurator command-line interface (SLC-CLI), while another may require the latest release to take advantage of new features. Different software development kit (SDK) releases may also require specific versions of build tools such as CMake, Ninja, or Commander.

Managing multiple versions of these tools has traditionally been challenging. Developers often install a single global version of each tool, which can cause compatibility issues when switching between projects. Updating a tool for one project may inadvertently break another.

Silicon Labs Tool (SLT) addresses tool-version conflicts by managing tools as packages. Instead of relying on globally installed executables, each project can use the tool versions it was designed and tested with. Package-managed tools improve reproducibility, simplify collaboration, and reduce the risk of version conflicts.

The following best practices explain how to manage multiple tool versions when working with SLT and SLC-CLI.

Test New Tool Versions Without Affecting Existing Projects#

One advantage of SLT package management is that installing a newer version of a tool does not necessarily replace the existing version.

Separate tool versions let you evaluate newer releases while you continue to develop existing applications with the versions they were tested with.

For example, you might:

  • Continue maintaining a production project with one version of SLC-CLI.

  • Evaluate a newer SLC-CLI release on a separate project.

  • Compare the behavior of both versions before migrating.

Because SLT manages tool versions separately, these activities can proceed without interfering with one another.