Skip to content

Instantly share code, notes, and snippets.

@llcawc
Last active December 21, 2021 16:41
Show Gist options
  • Save llcawc/0d86e4b2dc339ab6debeba3fe79622aa to your computer and use it in GitHub Desktop.
Save llcawc/0d86e4b2dc339ab6debeba3fe79622aa to your computer and use it in GitHub Desktop.
NodeJS - установка и настройка

NodeJS - установка и настройка

Установка NodeJS с помощю менеджера контроля версий FNM:

Это самый простой и правильный способ установки, который приведен на самом сайте Node и вот тут об этом так прямо и сказано: https://nodejs.org/en/download/package-manager/#fnm

Основная суть менеджера FNM как обычно у менеджеров - “разруливать” - а именно возможность иметь на борту несколько релизов NodeJS и быстро переключаться между ними. Менеджер работает быстро и просто. Кроме того он может использовать файлы .node-version или .nvmrc для автоматизации установки и использования. Для этого просто запиши номер нужной версии node в файл .node-version и помести его в папку проекта и например в личную директорию. Переключаясь между папками используй команду fnm use

Как просто создать файл .node-version в терминале используя команду cat :

Перейти в нужную папку, например в личную командой cd ~ и ввести команду cat > .node-version , далее нужно ввести номер устанавливаемой версии node, например: 14.18.0 и Enter. Далее чтобы закрыть и записать эти данные в файл надо нажать Ctrl-D. Посмотреть что получилось можно командой: cat .node-version или vim .node-version команда cat в linux может вывести содержимое файла на экран и обратно, связать файлы и т.д., а vim крутой встроенный редактор linux.

Установка FNM

Чтобы установить fnm нам понадобится утилита curl и unzip. Кроме того возможно касперский потребут разрешить запуск curl. В новейших системах Ubuntu curl и unzip должны идти в комплекте самой ситемы, а может вы уже устанавливали сами, и если нет то устанавливаем.

Для установки curl выполните команды:

sudo apt update
sudo apt -y install ruby ruby-dev gcc make g++ curl
sudo apt install unzip

После завершения установки curl и unzip можно установить менеджер FNM:

curl -fsSL [https://fnm.vercel.app/install](https://fnm.vercel.app/install) | bash

Эта же команда осуществляет обновление уже установленного FNM.

Номер последней версии можно узнать на сайте FNM: https://github.com/Schniz/fnm На 20.12.2021 последняя верся fnm 1.28.2 и там же подробный мануал по использованию

Этот скрипт также должен для использования FNM записать в файл настройки bash ".bashrc" небольшой код. Если это не произошло делаем в ручную с командой:

eval "$(fnm env)"

После установки fnm для глобальной установки пакетов не надо использовать команду sudo так как менеджер устанавливает пакеты глобально для каждой версии node

Полезные команды fnm:

Подробноси можно найти по ссылке: https://github.com/Schniz/fnm/blob/master/docs/commands.md

  1. Сначала проверяем установку FNM - это команда проверки версии fnm: fnm -V или fnm --version или файл справки fnm -h
  2. Затем смотрим ****список доступных к установке версий Nodejs и выбираем номер релиза: fnm ls-remote или fnm list-remote
  3. Список уже установленных версий вы можете посмотреть выполнив: fnm list или fnm ls

Установка нужной версии NodeJS.

  • Cкачать, скомпилировать и установить релиз node из файла .node-version:
fnm install
  • При установке также можно например указать конкретную версию nodejs:
fnm install 14.18.0
  • Или установить версию lts nodejs:
fnm install --lts

Если файл с точкой .node-version присутствует в текущей папке то можно включить версию node указанную в файле командой: fnm use

Можно прямо указать какой использовать номер установленного ранее релиза: fnm use 14.18.0

Но лучше сразу установить версию node которая будет использоваться глобально по умолчанию и не париться с переключением:

 fnm use 14.18.0 default

Удалить установленную ранее версию node: fnm uninstall 14.18.0 Кстати, надо помнить что при удалении любой версии nodejs, вместе с ней удаляются и все пакеты установленные глобально для этой версии.


Работа в NodeJS

Node Js - это платформа на основе JavaScript, которая уже завоевала большую популярность и становится еще более легкой и эффективной для разработчиков. Она позволяет программистам использовать JavaScript как для веб-приложений и пользовательских интерфейсов, так и для обычных программ, благодаря движку V8 от Google. Для платформы уже создано более чем 100000 пакетов, которыми можно управлять с помощью менеджера пакетов Node или NPM. Это отличная система для расширяемости приложения с помощью решений с открытым исходным кодом.

Полезные команды nodejs:

Посмотреть текущую установленую версию nodejs можно выполнив команду: node -v

Для того чтобы получить подобный список пакетов, установленных глобально, можно воспользоваться следующей командой: npm list -g

Вывести только сведения о локальных пакетах верхнего уровня (то есть, тех, которые вы устанавливали самостоятельно и которые перечислены в package.json) можно так: npm list --depth=0

Глобальные пакеты: npm list -g --depth=0

Для того чтобы узнать версию конкретного пакета, воспользуйтесь следующей командой: npm list [package_name]

Если вы хотите узнать о том, каков номер самой свежей версии некоего пакета, доступного в npm-репозитории, вам понадобится команда следующего вида: npm view [package_name] version

Установка старой версии npm-пакета может понадобиться для решения проблем совместимости. Установить нужную версию пакета из npm можно, воспользовавшись следующей конструкцией: npm install <package>@<version>

Если, например, выходит новая минорная версия пакета и мы выполняем команду npm update, то обновляется установленная версия пакета и при этом сведения об установленном пакете обновляются в файле package-lock.json, а файл package.json остаётся неизменным.

Для того чтобы узнать, вышли ли новые версии используемых в проекте пакетов, можно воспользоваться следующей командой: npm outdated

Некоторые из доступных обновлений пакетов представляют собой их мажорные релизы, обновления до которых не произойдёт при выполнении команды npm update. Обновление до мажорных релизов этой командой не производится, так как они (по определению) могут содержать серьёзные изменения, не отличающиеся обратной совместимостью с предыдущими мажорными релизами, а npm стремится избавить разработчика от проблем, которые может вызвать использование подобных пакетов.

Для того чтобы обновиться до новых мажорных версий всех используемых пакетов, глобально установите пакет npm-check-updates:

npm install -g npm-check-updates

Затем надо запустить пакет командой: ncu в каталоге с установленным пакетом, программа просканирует файл package.json и укажет какие есть обновления. Для автоматического обновления до указанных версий пакетов введите команду ncu -u. Эта команда обновит файл package.json, внеся изменения в указания о подходящих версиях пакетов в разделы dependencies и devDependencies.

Это позволит npm обновить пакеты, используемые в проекте, до новых мажорных версий после запуска команды npm update .

Если надо установить самые свежие версии пакетов для только что только что загруженного проекта, в котором пока нет папки node_modules, то, вместо npm update, выполните команду npm install.

Команда ncu -g поможет понять какие пакеты установленные глобально имеют обновления. И, кстати, не удивляетесь что когда установлен node lts релиз, ncu все время пытается вам донести о том, что надо обновить npm. Слава богу, ncu глобально не обновляет версии пакетов.

Локальная или глобальная деинсталляция пакетов

Для того чтобы деинсталлировать пакет, ранее установленный локально (с использованием команды install ), выполните команду следующего вида: npm uninstall <package-name>

Если пакет установлен глобально, то для его удаления нужно будет воспользоваться флагом -g (--global). Например, подобная команда может выглядеть так: npm uninstall -g webpack

При выполнении последней команды текущая папка значения не имеет.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment