Versioni multiple di node con nvm
Lavorare con tanti progetti node diversi, con più maintainer diversi, porta facilmente ad una frammentazione delle versioni di node, per questo motivo esistono degli strumenti chiamati “version manager” che permettono di gestire più versioni dello stesso linguaggio nella stessa macchina.
Installare nvm
Come PRIMISSIMA cosa installare nvm, non installare node globalmente nel modo classico.
Basta andare sul repository e prendersi la cURL da lanciare nel terminale, seguendo eventuali istruzioni.
Installare la versione di Node di default
nvm ti gestisce automaticamente una lista indefinita di versioni di Node, e la prima versione che installerai sarà quella di default (finché non vorrai cambiarla in futuro con un comando apposito).
Ti basterà lanciare: nvm install lts/*
Per ottenere l’ultima versione LTS di Node disponibile!
Utilizzare l’.nvmrc
file nei tuoi progetti
A questo punto ti basterà dichiarare la versione usata in un dato progetto all’interno dell’.nvmrc
, qui puoi metterci qualsiasi notazione supportata da nvm.
Questo è super comodo per evitare di ricordarsi la versione di ogni progetto
Script per automatizzare la gestione di node
autoload -U add-zsh-hook
load-nvmrc() {
local node_version="$(nvm version)"
local nvmrc_path="$(nvm_find_nvmrc)" # nvm_find_nvmrc its a binary shipped with nvm
if [ -n "$nvmrc_path" ]; then
local nvmrc_node_version=$(nvm version "$(cat "")")
if [ "$nvmrc_node_version" = "N/A" ]; then
nvm install
elif [ "$nvmrc_node_version" != "$node_version" ]; then
nvm use
fi
elif [ "$node_version" != "$(nvm version default)" ]; then
echo "Reverting to nvm default version"
nvm use default
fi
}
add-zsh-hook chpwd load-nvmrc # chpwd is a zsh hook that fires when the current working directory changes
load-nvmrc