Everywhere All articles Download Buy — $19

Where apps hide your files

Finding the nvm folder

Updated 2026-10-28 · 6 min read

nvm keeps every Node.js version in a hidden ~/.nvm folder in your home directory, one subfolder per version. You can open it, see which versions take the space, and clean them up with nvm's own commands.

Where nvm puts Node.js

~/.nvm/versions/node/

Each Node version you install with nvm gets a folder named after it, such as ~/.nvm/versions/node/v22.22.1. On the Mac used for this guide, four versions sat side by side there (v8, v18, v20 and v22) and the whole ~/.nvm folder came to about 700 MB.

One exception: if the XDG_CONFIG_HOME variable was set when you ran nvm's install script, the script used $XDG_CONFIG_HOME/nvm instead of ~/.nvm. echo $NVM_DIR prints the folder your shell is using.

Inside one version folder you will find:

~/.nvm/versions/node/v22.22.1/bin/node
~/.nvm/versions/node/v22.22.1/lib/node_modules/

The first is the Node program, the second holds that version's globally installed npm packages. nvm which 22 prints the full path to a version's node if you would rather ask than browse.

Opening the hidden folder

The .nvm folder starts with a dot, so Finder hides it. Choose Go > Go to Folder (⇧⌘G), paste ~/.nvm/versions/node and press Return. From Terminal:

open ~/.nvm/versions/node

To see what nvm itself thinks is installed:

nvm ls

If your shell says nvm: command not found, the lines that load nvm are missing from your shell profile (~/.zshrc for the default shell), but the folder is still on disk. When NVM_DIR is not set, nvm works out its folder from where nvm.sh was loaded.

What the rest of ~/.nvm holds

PathWhat it is
versions/node/The installed Node versions
alias/Small text files for aliases. alias/default holds the version a new shell uses, and alias/lts/ holds the LTS name aliases
.cache/Downloaded Node archives, kept in .cache/bin (and .cache/src for source builds)
nvm.sh, nvm-exec, bash_completionnvm itself: shell scripts, not Node
.git, README.md, test/nvm's own repository, when installed by the Git-based script

The value in alias/default is a version or alias name such as 22 or lts/*, not a path. nvm alias default prints it.

On the Mac used for this guide, .cache/bin held one folder per installed version, each named like node-v22.22.1-darwin-x64 with the compressed download inside. The darwin-x64 ending means an Intel build, which is what nvm fetches when Terminal runs under Rosetta. Current nvm fetches darwin-arm64 builds in a native Apple silicon shell for Node 16 and later, and falls back to darwin-x64 for older versions, because Node did not publish Apple silicon builds before 16. On an Apple silicon Mac, uname -m prints arm64 in a native shell and x86_64 under Rosetta, so check it before installing.

Seeing what takes the space

du -sh ~/.nvm/versions/node/*
du -sh ~/.nvm/.cache

On the Mac used for this guide, each recent version took 150 to 250 MB with npm and a few global tools, and the node binary of Node 22 alone is about 115 MB. The cache holds only the compressed downloads, 15 to 26 MB each here, so clearing it is safe but frees much less than removing a version you no longer use. nvm cache dir prints the cache's path.

Removing versions and the cache the right way

Use nvm's own commands:

nvm uninstall 18
nvm cache clear

nvm uninstall removes that version's folder, including any global packages installed under it. nvm cache clear empties the cache folder: nvm's help describes it as "Empty cache directory for nvm". nvm refuses to uninstall the version that is active in your current shell, so switch first with nvm use <other version>.

Check nvm alias default before removing anything. If your default points at a version you delete, new terminals start without nvm's node until you set a new default with nvm alias default <version>.

Global packages belong to a version

Anything installed with npm install -g goes into that version's own lib/node_modules, not into a shared place. Switching versions with nvm use therefore makes the globals seem to disappear. They are still on disk under the other version's folder. To carry them across when you upgrade, nvm's README documents:

nvm install --reinstall-packages-from=node node

Project dependencies are separate. They live in each project's own node_modules folder, not in ~/.nvm.

Homebrew and other installs

nvm's README says Homebrew installation of nvm is not supported, and asks you to uninstall a Homebrew nvm and reinstall it with the official script before reporting issues. If you installed Node itself with Homebrew or with the official installer from nodejs.org, those copies live outside ~/.nvm (under the Homebrew prefix, or /usr/local) and nvm does not manage them. which -a node lists every Node on your PATH, in order.

Moving to a new Mac

Do not copy ~/.nvm/versions. Binaries are built for one processor type, and an Intel Node from a Rosetta shell is not what you want on an Apple silicon Mac. Run nvm ls on the old Mac to note your versions, install nvm on the new one, and run nvm install <version> for each. Per-project versions are pinned in an .nvmrc file, which nvm use reads for you.

Why search misses these files

~/.nvm is a hidden dot-folder, so Spotlight and Finder searches leave it out of normal results. The Node folders are also named only by version number, which gives a search for "node" little to go on.

Finding them again later

Typing .nvmrc into Everywhere shows every project that pins a Node version, and typing a version such as v20.5.1 surfaces that version's folder inside ~/.nvm along with its cached download. Hidden folders in your home are covered as they are; projects kept in Documents or on the Desktop appear once Everywhere has Full Disk Access. It matches names only, so it cannot tell you which version an .nvmrc asks for. Press ⌘↵ to reveal a result in Finder.

Common questions

Where does nvm install Node on a Mac?

In ~/.nvm/versions/node/<version>, for example ~/.nvm/versions/node/v22.22.1. Run nvm which <version> to print the path to a version's node.

Where are global npm packages when I use nvm?

Inside each Node version's own folder, at ~/.nvm/versions/node/<version>/lib/node_modules. That is why globals seem to vanish when you switch versions.

How do I delete an old Node version installed with nvm?

Switch to a different version with nvm use, then run nvm uninstall <version>. Run nvm cache clear as well to empty the downloaded archives in ~/.nvm/.cache.

Why can I not see the .nvm folder in Finder?

Folders starting with a dot are hidden. Press ⇧⌘G, type ~/.nvm and press Return, or press ⇧⌘. in Finder to show hidden files.

Find any file before you finish typing

Everywhere keeps track of every file on your Mac — including the folders Spotlight hides and drives you have unplugged. Free for a day, then $19 once.

Version 2.20.3 · macOS 13+ · 4.7 MB · notarised

Related

© 2026 Caretopia Network Private Limited Everywhere for Mac Buy a licence Articles Privacy Support