https://github.com/nodenv/nodenv-default-packages
A nodenv plugin that installs a set of npm packages every time you install a new version of Node.
https://github.com/nodenv/nodenv-default-packages
nodejs nodenv nodenv-plugin npm-packages
Last synced: 8 months ago
JSON representation
A nodenv plugin that installs a set of npm packages every time you install a new version of Node.
- Host: GitHub
- URL: https://github.com/nodenv/nodenv-default-packages
- Owner: nodenv
- License: mit
- Created: 2015-03-31T14:39:55.000Z (about 11 years ago)
- Default Branch: main
- Last Pushed: 2025-09-08T14:39:06.000Z (9 months ago)
- Last Synced: 2025-09-09T22:51:53.357Z (9 months ago)
- Topics: nodejs, nodenv, nodenv-plugin, npm-packages
- Language: Shell
- Homepage:
- Size: 196 KB
- Stars: 39
- Watchers: 5
- Forks: 5
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# nodenv-default-packages
A [nodenv][] plugin that installs a set of npm packages every time you install a new version of Node.
[](https://github.com/nodenv/nodenv-default-packages/actions/workflows/test.yml)
[](https://github.com/nodenv/nodenv-default-packages/releases/latest)
[![Latest Homebrew Release]()](https://github.com/nodenv/homebrew-nodenv/blob/main/Formula/nodenv-default-packages.rb)
[](https://www.npmjs.com/package/@nodenv/nodenv-default-packages/v/latest)
This nodenv plugin hooks into the `nodenv install` command to automatically install `npm` packages every time you install a new version of Node.
It requires the `node-build` plugin to be installed.
Forked from the excellent [`rbenv-default-gems`][rbenv-default-gems] plugin from [sstephenson][sstephenson].
- [Installation](#installation)
- [Installing as a nodenv plugin](#installing-as-a-nodenv-plugin)
- [Installing with Homebrew (for macOS users)](#installing-with-homebrew-for-macos-users)
- [Usage](#usage)
- [default-packages Files](#default-packages-files)
- [Updating Default Packages](#updating-default-packages)
- [Credits](#credits)
## Installation
### Installing as a nodenv plugin
Make sure you have the latest nodenv and node-build versions, then run:
```sh
git clone https://github.com/nodenv/nodenv-default-packages.git $(nodenv root)/plugins/nodenv-default-packages
```
### Installing with Homebrew (for macOS users)
MacOS users can install nodenv-default-packages with the [Homebrew](http://brew.sh) package manager.
_This is the recommended method of installation if you installed nodenv with Homebrew._
```sh
brew install nodenv/nodenv/nodenv-default-packages
```
Or, if you would like to install the latest development release:
```sh
brew install --HEAD nodenv/nodenv/nodenv-default-packages
```
## Usage
nodenv-default-packages automatically installs the packages listed in the [default-packages file(s)](#default-packages-files) file every time you successfully install a new version of Node with `nodenv install`.
Specify packages in `default-packages` by name, one per line.
You may optionally specify a SemVer version spec after the name. For example:
```txt
grunt-cli
jshint ~2.6.3
csslint >= 0.9.0 < 0.10.0
```
Empty lines and lines beginning with a `#` are ignored.
### default-packages Files
nodenv-default-packages reads from `$(nodenv root)/default-packages` as well as `nodenv/default-packages` under all [XDG config directories][xdg].
The XDG config directories searched are `$XDG_CONFIG_HOME` (`$HOME/.config` if unset/empty) and all colon-separated `$XDG_CONFIG_DIRS` (`/etc/xdg` if unset/empty).
### Updating Default Packages
if you update your `$(nodenv root)/default-packages` and want to refresh some or all of your existing node installations you can use commands like this:
```sh
nodenv default-packages install 8.8.1 # Reinstall default packages on Node version 8.8.1
```
```sh
nodenv default-packages install --all # Reinstall default packages on _all_ installed Node versions
```
> [!NOTE]
> This may take some time.
## Credits
Forked from [Sam Stephenson][sstephenson]'s [rbenv-default-gems][] by [Josh Hagins][jawshooah] and modified for [nodenv][].
[sstephenson]: https://github.com/sstephenson
[rbenv-default-gems]: https://github.com/rbenv/rbenv-default-gems
[jawshooah]: https://github.com/jawshooah
[nodenv]: https://github.com/nodenv/nodenv
[xdg]: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html