Automic VaultAutomic Vault

brew

Install n with Homebrew, MacPorts

Node version management. Version 10.2.0 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install n

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install n

MacPorts ports tree · devel/n/Portfile · source: api.github.com

overview

Package summary

Node version management

Commands and aliases

  • n

history

Project history and usage

n is a long-lived Node.js version manager by TJ Holowaychuk. The GitHub repository and npm package both date to January 5, 2011, placing it in the early era when Node users needed fast local switching between rapidly moving Node releases. It remains a small, Unix-style tool rather than a broader runtime manager: install a version, keep downloaded versions in a cache, and switch the active Node in place.

Project history

The project is implemented primarily as shell code and distributed through npm, Homebrew, MacPorts, and direct script installation. Release v10.2.0 was published on GitHub on May 21, 2025 and is also the stable Homebrew version. The project has continued to adapt to Node ecosystem changes, including LTS aliases, package.json engine resolution, custom mirrors, alternate architectures, and preservation of npm/corepack during Node installs.

Adoption history

n has broad practical adoption among developers who want a simpler alternative to shell-integrating version managers. The GitHub API showed 19,516 stars and 764 forks on July 1, 2026. npm reported 1,667,021 downloads for May 30, 2026 through June 28, 2026, and Homebrew reported 9,495 installs in the preceding 365 days. Those numbers reflect different distribution channels: npm is the dominant installation path, while Homebrew remains a convenient macOS/Linux route.

How it is used

The common workflow is `n lts`, `n latest`, or `n 20` to install and switch Node, with bare `n` opening the interactive selector over cached versions. Package nerds use `n run`, `n exec`, and `n which` when they need to run commands under a cached Node without changing the active install. The `engine` label is useful in repos that declare a Node range in package.json, while `N_NODE_MIRROR`, `N_ARCH`, `--offline`, and `--cleanup` cover mirrors, architecture-specific downloads, air-gapped/cache use, and container one-shot installs.

Why package nerds care

n matters because it is intentionally narrow: it manages Node versions without trying to own the whole shell session or project environment. That makes it especially handy on CI images, disposable containers, remote shells, and machines where a global Node install is acceptable. The tradeoff is also the reason people still compare it with nvm/fnm/asdf/Volta: n changes the active installed Node rather than providing per-directory shims by default.

Timeline

  • 2011-01-05: GitHub repository and npm package created.
  • 2025-05-21: v10.2.0 published on GitHub.
  • 2026-05-30 to 2026-06-28: npm reported 1,667,021 downloads.
  • 2026-07-01: GitHub API showed 19,516 stars and Homebrew API showed 9,495 installs over 365 days.

Related projects

  • Node.js
  • npm
  • nvm
  • fnm
  • Volta
  • asdf

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 1 platform targets.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
ncliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version10.2.0
manager updated
local dataok
upstreamcurrent
latest detectedv10.2.0

https://github.com/tj/n

  • infoNo package-manager update timestamp was available.low confidence

install metadata

Package metadata

Package keybrew:n
Version10.2.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/n
Homepagehttps://github.com/tj/n
Repositoryhttps://github.com/tj/n
Upstream docshttps://github.com/tj/n#readme
LicenseMIT
Source archivehttps://github.com/tj/n/archive/refs/tags/v10.2.0.tar.gz
Bottleavailable (on all)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namen
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

MacPorts95%

n

sudo port install n
  • normalized package name match
  • Matched by: N
MacPorts ports tree · api.github.com · MacPorts ports tree: devel/n/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Combined YAML source

View the package source record on GitHub.

combined/n.yml

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment