Node environment manager
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
trivernis 9cb63a1a6c
chore: Release nenv version 0.5.0
2 years ago
.github/workflows Add cargo dist 2 years ago
src Change syntax of exec to use a -- to separate args from nenv args 2 years ago
.gitignore Add web api 2 years ago
Cargo.toml chore: Release nenv version 0.5.0 2 years ago
LICENSE Create LICENSE 2 years ago
README.md Change syntax of exec to use a -- to separate args from nenv args 2 years ago
icon.png Add icon 2 years ago

README.md

nenv

A Node environment manager written in rust.

Features

  • Written in fast and safe rust
  • Multiple active nodejs versions at the same time
  • Configuration for project specific versions
  • Version matching with semver expressions

Installation

You can either

  • Install the application with cargo by downloading the repo and running cargo install --path . inside
  • Download the binary from the releases page

Now to initialize everything install any nodejs version with nenv install <version>. Afterwards add the bin directory to your PATH variable.

On windows this should be C:\Users\<yourusername>\AppData\Roaming\nenv\bin. On linux this will be ~/.local/share/nenv/bin.

Usage

Install node versions

# install the latest available node version
nenv install latest

# install the latest lts version
nenv install lts

# install the latest 14.x.x version.
nenv install 14

Change the system-wide default version

nenv default latest

Refresh installed binaries and upstream versions

nenv refresh

Pinning binaries to specific node versions

# rome will always be executed with the lts version
nenv pin rome lts

# tsc will always be executed with the latest typescript version
nenv pin tsc latest

# undo
nenv unpin rome
nenv unpin tsc

List nodejs versions

nenv list-versions

Version detection

The node version nenv uses is controlled by

  1. The engines.node config field in the package.json which is parsed as a semver requirement.
{
  "name": "my project",
  "engines": {
    "node": "18"
  }
}
  1. The .node-version file in the current or parent directories which contains the version string.
19.4.0  
  1. The NODE_VERSION environment variable.
  2. The default version set with nenv default.

License

GPL-3.0