NVM великолепен, особенно учитывая скорость выхода новых версий Node. Если у вас его нет, вы должны его получить. Он позволяет мгновенно переключаться между любой версией Node.

Если вы еще не знали, вы можете включить файл .nvmrc в каталог проекта с содержимым предполагаемой версии Node, например:

# .nvmrc (Note: NVM doesn't recognize comments, so remove this line)
8

Или, если вам нужна более конкретная версия:

# .nvmrc (Note: NVM doesn't recognize comments, so remove this line)
v7.10.1

Теперь, если я нахожусь в ~/Projects/my-cool-thing, я могу просто запустить nvm use, и он переключится на любую версию в файле .nvmrc .

Однако кажется абсолютно абсурдным необходимость запуска команды при входе в каталог проекта. Вот что я сделал.

Во-первых, я добавил это в свой файл ~/.profile:

# ... a bunch of other unorganized shit ...
[ -f "$(pwd)/.nvmrc" ] && nvm use

Это начало. Когда я открываю терминал в каталоге проекта, он запускает команду для переключения на проектную версию Node, но давайте поленимся, подключившись к команде cd. Вот что я добавил дальше:

# ... a bunch of other unorganized shit ...
[ -f "$(pwd)/.nvmrc" ] && nvm use
cd() {
    builtin cd "$1"
    [ -f "$(pwd)/.nvmrc" ] && nvm use
}

Теперь вернемся к написанию кода, который не является bash!