Skip to content

a wrapper around node version manager for fish shell with good performance

License

Notifications You must be signed in to change notification settings

brigand/fast-nvm-fish

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 

Repository files navigation

What is nvm?

nvm is a tool for managing multiple versions of node and npm.

What is fast-nvm-fish?

It's a utility that manipulates your PATH to include the desired version of node. Other solutions require parsing env's output and do other slow things. Before this, there was an extra second or two added to my shell startup time. With about 10 versions of node installed this script takes 50ms to run.

Alternatives

You can get even better performance, with a solution that works in fish/bash/zsh by using fnm.

Usage

nvm install 5
nvm use 5 # or e.g. 5.8 or 5.8.1

Install:

Requirements: you must have Fish 2.6.0 or newer.

First install nvm if you haven't already. You can check the nvm readme for a more up to data install command.

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

Then install fast-nvm-fish:

curl -sSL https://raw.githubusercontent.com/brigand/fast-nvm-fish/master/nvm.fish > ~/.config/fish/functions/nvm.fish

Or using fisher:

fisher add brigand/fast-nvm-fish

The fish_user_paths universal variable must exist before running nvm commands. Run this once in your fish shell:

set -U fish_user_paths

To make it work on new shells you'll need to set a version in config.fish.

echo 'nvm use 7.2.1' >> ~/.config/fish/config.fish

If you have nvm installed anywhere other than ~/.nvm, set a global variable in your config.fish file before first invoking nvm use.

set -gx NVM_DIR ~/custom_path/nvm
nvm use 7.2.1

About

a wrapper around node version manager for fish shell with good performance

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages