Разница между установкой npm и обновлением npm в Node.js
NPM - это своего рода электростанция для Node.js, которая содержит все необходимые модули для бесперебойной работы приложения node.js. Он устанавливается на нашу машину, когда мы устанавливаем Node.js в нашей ОС Windows, Linux или MAC.
Как установить Node на машину? Обратитесь к этой статье.
NPM имеет 580096 зарегистрированных пакетов. Средняя скорость роста этого числа составляет 291 в день, что означает резкое увеличение количества различных типов пакетов, поэтому мы должны каждый раз обновлять наш узел на нашей машине? Ответ - нет! NPM позволяет нам устанавливать сторонние модули на нашу машину в соответствии с потребностями нашей работы.
Другая причина заключается в том, что предопределенные модули не могут удовлетворить потребность в больших проектах, например, HTTP- модули не могут различать несколько типов запросов, поэтому мы должны установить извне еще один популярный модуль. т.е. экспресс- модуль.
Мы можем получить доступ к сторонним модулям с помощью некоторых предопределенных команд, предоставляемых Node Package Manager, которые приведены ниже:
Первоначальная структура проекта :
Команда npm install : эта команда npm используется для установки сторонних модулей в нашем текущем каталоге. Есть два разных способа использовать эту команду:
- Без параметра
- С параметром
- Без параметра: когда мы используем команду npm без параметра, эта команда автоматически загружает все зависимости, которые записаны в файле package.json в нашем каталоге.
Package.json: создайте файл package.json в каталоге и укажите в нем явные зависимости.
{ "name": "gfg", "версия": "1.0.0", "описание": "", "main": "index.js", "scripts": { "test": "echo " Ошибка: тест не указан "&& exit 1" }, "автор": "", "лицензия": "ISC", "dependencies": { "экспресс": "^ 4.17.1" } }
Запустите команду установки npm:
нпм я или же npm install
Обновленная структура проекта:
Пакет-lock.json файл и node_modules созданный пакет-lock.json файл содержит все необходимые сведения о загруженных дополнительных зависимостей и node_modules папка содержит все различные типы пакетов , которые устанавливаются вместе с нашим указанным модулем в package.json.
- С параметром: мы можем использовать команду npm install, указав имя стороннего модуля, который мы хотим установить для конкретной работы. Например, давайте загрузим модуль MongoDB для Node.js
Параметр: Параметр может быть именем модуля, который мы хотим установить. или имя папки, в которую мы хотим установить все сторонние модули в каталоге. По умолчанию это папка node_modules, в которой находятся все установленные модули. Эта папка создается автоматически при первой установке любого внешнего модуля.
Синтаксис:
npm install [-g] [<пакет> ..]
- Syntax for installing module: Module will get install in the node_modules folder in the present directory.
npm install <module-name>
- Syntax for installing any module globally: Globally installing means we can access the module without installing that module in a particular directory. For egNodemon module etc.
npm install -g <module-name>
- Syntax for change the directory path of modules: This command will change the installing path of the external modules from node_modules to <dirname> folder in the working directory.
npm install <dirname>
Объяснение: После установки любого нового модуля новые пакеты добавляются в папку node_modules, а зависимости обновляются в файле package.json.
- Установка модуля с помощью команды npm:
npm установить mongodb
файл package.json:
Команда npm update : эта команда npm используется для обновления зависимостей, упомянутых в файле package.json, а также для установки всех отсутствующих пакетов в каталоге, а также для обновления текущей версии узла на компьютере. двумя разными способами:
- Без параметра
- С параметром
- Без параметра : обновление npm без параметра работает со всеми глобально установленными пакетами и обновляет все версии глобальных пакетов, доступных на нашей машине.
Синтаксис:
npm update -g
Обновление модуля nodemon , установленного глобально:
- С параметром: команда обновления npm принимает второй параметр как имя зависимости, которую мы хотим обновить до следующей версии или последней версии. Мы также можем ограничить обновление зависимостей до последней версии с помощью некоторых зарезервированных символов. Если мы устанавливаем зависимости, просто упоминая его имя, последний патч зависимостей будет установлен, но это может создать некоторые проблемы, потому что, когда мы работаем над проектом и хотим, чтобы он был почти равен зависимости от текущей версии. Мы не можем установить эту конкретную зависимость, мы будем использовать зарезервированные символы для преобразования трека обновления зависимости.
В Node.js используются в основном типы зависимостей:
1. Зависимости каретки: когда зависимости, представленные в файле package.json или package.lock.json с ^, называемым символом каретки, называются зависимостями каретки. Эти зависимости обновляются до последней версии, совместимой с этой версией.
"dependencies": { "dep11": "^ 2.2.2" }
Эта команда обновления npm обновит до 2.3.3 (учтите, что эта версия существует), а 2.3.3 удовлетворит предыдущую версию
2. Зависимости тильды: команда npm update обновит эти зависимости до самой высокой отсортированной версии. Эти зависимости используют символ ~.
"dependencies": { "dep11": "^ 2.2.2" }
Если мы обновим эту зависимость, в этом случае она будет обновлена до версии 2.2.3.
Разница:
- Установка npm устанавливает все модули, перечисленные в файле package.json, и их зависимости.
- npm update обновляет все пакеты в каталоге node_modules и их зависимости.