Linux, terminal and Git

Stage 4 · Lesson 7 of 8

Version managers: nvm, pyenv and friends

Permissions, processes and packages

Different projects need different versions of a language: one uses Node 20, another Node 22. install several versions side by side in your . They switch between them for each shell or each project by putting the right version first on your PATH. nvm is the usual choice for Node, pyenv for , and tools such as mise handle many languages at once.

A small .nvmrc or .python-version file in a project records its version for everyone. Add the manager's setup lines to your , as its instructions say.

Common trapinstalling a language through both the and a version manager, then not knowing which one runs.

A question to check yourself, an AI practice session and 2 cheat sheet entries come when you add the roadmap to your account. Add it

Resources for this stage

Start with

  • BookFree
    The Linux Command Line

    William Shotts · Beginner

    Its chapters on permissions and processes are the clearest free explanation of this stage

Practise

Keep handy

  • The official README for installing nvm and switching Node versions per project

  • How brew installs, upgrades and cleans up the tools on your Mac

Also worth your time

  • See the users, permissions and process management branches of the Linux map

Mark this stage as not done?