--- name: nvm-defaults-and-nvmrc description: "Set default Node versions via nvm aliases, create .nvmrc files for project-specific versions, and configure shell auto-switching per directory. Use when the user asks about nvm alias default, .nvmrc configuration, auto-switching Node versions on directory change, or pinning a Node version for a project." license: Complete terms in LICENSE.txt --- # nvm Defaults and .nvmrc Configure default Node versions and project-level version pinning with nvm. ## Workflow 1. **Set the default Node version** using an alias: ```bash nvm alias default 20 # Or use an LTS alias nvm alias default lts/iron ``` 2. **Create or update .nvmrc** in the project root: ```bash # Pin to a specific version echo "20.11.0" > .nvmrc # Or use an LTS alias echo "lts/iron" > .nvmrc ``` 3. **Enable shell auto-switching** if requested (see auto-use examples per shell). 4. **Verify** the configuration works: ```bash # Open a new shell, then: nvm current # Should show the default version cd /path/to/project node -v # Should match .nvmrc version ``` **Important:** Keep .nvmrc consistent across team repos to avoid version drift. Basic install/use belongs to nvm-usage-basics. ### Example file map - `examples/default-version.md` - Setting default aliases - `examples/nvmrc.md` - .nvmrc file creation and usage - `examples/auto-use-bash.md` - Auto-switching for bash - `examples/auto-use-zsh.md` - Auto-switching for zsh - `examples/auto-use-fish.md` - Auto-switching for fish ## Keywords nvm alias, default version, .nvmrc, auto use, project version, defaults