как узнать версию npm
Полезные команды для работы с Node.js
Перед тем как рассматривать полезные команды при работе с Node.js, её необходимо установить.
Установленная версия Node.js.
Установленная версия npm.
Список установленных пакетов.
Установить любой пакет.
Команда npm i package является укороченной альтернативой предыдущей команды.
npm uninstall package — удаляет установленный пакет по имени.
Удалить установленный пакет.
Команда npm list package — покажет версию установленного пакета, а команда npm view package version — последнюю версию пакета, которая существует.
Версия установленного пакета.
Файл package.json.
Напоследок хотелось бы рассказать про Node Version Manager. Эта утилита, которая позволяет быстро менять версии Node.js.
Чтобы её установить, достаточно запустить скрипт
Команды для работы с NPM
ГИД по командам консоли для работы с менеджером пакетов NPM: как установить, обновить или удалить установленный модуль или пакет NPM и другие команды NPM
Современная разработка очень тесно связана с использованием Node JS. В свою очередь Node JS используется как оболочка для работы с NPM и его пакетами (всем известная папка node_modules).
В данной статье я постараюсь перечислить все самые популярные команды для NPM: установка, обновление, удаление пакетов и др.
Инструкции по NPM
И всё таки думаю что стоит для начала упомянуть пару важных консольных команд для Node JS.
Как посмотреть список всех команд Node.js
Чтобы посмотреть список всех команд доступных в Node.js, для этого нужно ввести в консоли команду:
Как узнать версию установленного Node.js
Команды для NPM и работы с пакетами, модулями
Если расписывать команды NPM-а, то так же начнём с того как в консоли вывести все доступные команды нпма.
access, adduser, audit, bin, bugs, c, cache, ci, cit, completion, config, create, ddp, dedupe, deprecate, dist-tag, docs, doctor, edit, explore, get, help, help-search, hook, i, init, install, install-test, it, link, list, ln, login, logout, ls, outdated, owner, pack, ping, prefix, profile, prune, publish, rb, rebuild, repo, restart, root, run, run-script, s, se, search, set, shrinkwrap, star, stars, start, stop, t, team, test, token, tst, un, uninstall, unpublish, unstar, up, update, v, version, view, whoami
Например посмотреть инструкции для обновления:
В установленном по умолчанию браузере откроется страница с инструкциями по данной команде. Инструкции находятся локально и не требуют подключения к интернету.
Как узнать версию NPM
Как обновить NPM
В отличии от Node.js, NPM знает как обновить себя! Чтобы обновить свой NPM до последней версии, вводим в терминале такую команду:
Инициализация пакетов NPM
Команда npm init создаст файл package.json или установит прописанные пакеты из файла package.json если он уже создан.
Работа с NPM-пакетами
Установить пакеты из файла package.json :
npm скачает и установит все пакеты указанные в файле package.json
Посмотреть список установленных пакетов:
Посмотреть список установленных пакетов, которые требуют обновления:
Список глобально установленных пакетов требующих обновления:
Глобальная установка пакета:
Удалить пакет:
Удалить глобально установленный пакет:
Обновить пакеты:
И в заключение, если вы пользуетесь конролем версий Git, то незабудьте добавить в файл .gitignore исключение для папки node_modules, чтобы гит не индексировал файлы из этой папки. Для этого создайте файл .gitignore если он у вас ещё не создан и пропишите в нём отдельной строкой:
Обновление пакетов NPM при изменении мажорной версии
Для обновления мажорной версии есть такая команда:
— в итоге будут обновлены все пакеты.
. Делайте такое обновление только в случае если вы уверены и понимаете что делаете. Мажорная версия несёт изменения для которых есть изменения в настройках.
Посмотрите это видео, где есть понятное объяснение по версиям пакетов NPM:
*** Авторизируйтесь чтобы писать комментарии.
Node.js. Утилиты npm и npx
Утилита npm
Утилита npm — это менеджер пакетов, который входит в состав Node.js. Пакетом называется один или несколько js-файлов, представляющих собой какую-то библиотеку или инструмент. Менеджер пакетов предназначен для скачивания пакетов из облачного сервера, либо для загрузки (публикации) пакетов на этот сервер.
1. Инициализация проекта
Для создания нового проекта нужно создать директорию проекта, перейти в нее и выполнить команду
2. Файл package-lock.json
3. Установленные пакеты
Получить список всех установленных в директории проекта npm-пакетов можно с помощью команды
Получить список всех установленных глобально npm-пакетов (см.ниже) можно с помощью команды
4. Подробная информация о пакете
Посмотреть подробную информацию о пакете, доступного через npm-репозиторий
Получить информацию из npm-репозитория о последней доступной версии пакета
5. Локальная установка пакетов
Установить все пакеты из секций dependencies и devDependencies файла package.json :
Установить все пакеты из секции dependencies файла package.json (для production сервера)
Установить пакет package-name и добавить в секцию devDependencies файла package.json :
Установить пакет package-name и добавить в секцию dependencies файла package.json :
6. Локальное удаление пакетов
Удалить пакет package-name и удалить его из секции devDependencies файла package.json :
Удалить пакет package-name и удалить его из секции dependencies файла package.json :
7. Глобальная установка пакета
По умолчанию npm будет устанавливать все пакеты в локальной директории, в которым мы сейчас работаем (директория проекта). Если нужно, чтобы пакет был доступен всем приложениям, его нужно установить глобально. Но это не лучшее решение — разные проекты могут требовать разные версии одного пакета. Глобально установленный пакет будет нормально работать в одном проекте и вызывать ошибку в другом.
8. Глобальное удаление пакета
Так что если из-за глобально установки пакета возникли трудности — можно удалить его с помощью команды
9. Локальное обновление пакетов
Обновить один пакет или все пакеты проекта (нужно выполнять из директории проекта):
Чтобы узнать, вышли ли новые версии используемых в проекте пакетов
10. Как безопасно обновляться
Для того, чтобы обновиться до новых мажорных версий всех используемых пакетов, нужно глобально установить пакет
Теперь можно посмотреть, какие пакеты можно обновить (без внесения каких-либо изменений):
Убедившись, что обновление достаточно безопасно, можно выполнять следующую команду:
11. Глобальное обновление пакетов
Обновить один пакет или все пакеты, установленные глобально (можно выполнять из любого места):
12. Установка конкретной версии
Установка старой версии npm-пакета может понадобиться для решения проблем совместимости:
Узнать, какие версии некоего пакета имеются в npm-репозитории
13. Запуск скриптов
Запускать эти команды можно с помощью команды
14. Справка по менеджеру пакетов
У менеджера пакетов есть подробная справка по все командам
Для примера, посмотрим справку по команде install (в браузере)
Утилита npx
Существует множество утилит в виде пакетов (например, create-react-app ), которые изначально предполагалось устанавливать глобально. Запускать их из командной строки было очень просто — достаточно ввести имя утилиты в консоли. Однако мы уже знаем, что глобальная установка пакетов создает множество проблем.
Конечно, мы можем что-нибудь придумать, чтобы избежать проблем с глобальной установкой таких утилит. Например, установить пакет create-react-app глобально, запустить один раз из директории проекта, чтобы создать React-приложение — и сразу после этого удалить.
Если пакет cowsay не установлен глобально, подобная команда выдаст ошибку:
Утилита npx скачает пакет cowsay из npm-репозитория, установит во временную директорию и выполнит утилиту. Что важно — не загрязняя глобальное пространство. Так что при использовании npx необходимости в глобальной установке пакетов больше нет.
Node Package Manager
Введение
Менеджер пакетов, входящий в состав Node.js.
Установка пакета производится при помощи команды:
Все доступные для установки пакеты и их краткое описание:
Этой же командой можно производить выборочный поиск пакетов.
Установка
Входит в состав Nodejs поэтому обычно не требует отдельной установки.
Об установке Nodejs читайте в статье установка Nodejs
sudo apt install npm
Узнать версию
Проверить версии установленных Nodejs, npm и npx можно следующими командами
Начало работы
Логично начать с создания директории для нового проекта.
Я буду работать над сайтом HeiHei.ru поэтому назову папку heihei
Перейдём в созданную директорию
Убедимся, что в новой папке пусто
Теперь выполним важнейшую для будущей разработки команду
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.
See `npm help json` for definitive documentation on these fields
and exactly what they do.
` afterwards to install a package and
save it as a dependency in the package.json file.
Press ^C at any time to quit.
package name: (my-project)
npm предложит заполнить информацию о проекте. Появятся следующие поля:
name: (heihei)
version: (1.0.0)
description:
entry point: (index.js)
test command:
git repository:
keywords:
author:
license: (ISC)
Можно заполнить все поля, но для простоты пока просто нажмем несколько раз подряд Enter
Если предварительно привязать директорию к удалённому репозиторию GIT то npm при инициализации это увидит и сам заполнит пункт git repository.
Возможно, это и есть самый простой и правильный путь, если Вы планируете работать дальше с GIT.
В конце должно появиться подобное сообщение. Нажимаем Enter ещё раз.
About to write to C:\Users\ao\Desktop\Sites\heihei\package.json:
<
«name»: «heihei»,
«version»: «1.0.0»,
«description»: «»,
«main»: «index.js»,
«scripts»: <
«test»: «echo \»Error: no test specified\» && exit 1″
>,
«author»: «»,
«license»: «ISC»
>
Проверим, что появилось в нашей папке после инициализации
package.json это файл, который будет хранить в себе список установленных пакетов и их версии.
Сразу после инициализации он содержит только информацию о проекте
В мире Python похожие задачи решают venv и freeze
Установка пакетов
Установим первый пакет. Начнём с jquery.
npm install jquery
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN heihei@1.0.0 No description
npm WARN heihei@1.0.0 No repository field.
+ jquery@3.4.1
added 1 package from 1 contributor and audited 1 package in 1.227s
found 0 vulnerabilities
В версиях NPM ниже 5.0.0 при установке пакетов не происходило автоматической записи в файл package.json
Пример такой установки я разбираю в статье Gulp
Если Вам нужно установить не последнюю версию jquery а архивную используйте @номер_версии. Например:
npm install jquery @3.3.1
Проверим, что появилось в нашей папке после установки первого пакета
node_modules/ package.json package-lock.json
Файл package-lock.json появиля в пятой версии NPM как дополнительное средство контроля совместимости.
Особенно для случаев когда файл package.json скопирован и через некоторое время с его помощью произвели инициализацию (npm init), но за это время какой-то из пакетов успел получить новую версию.
Подробнее про это можно прочитать здесь, здесь, здесь
Про контроль версий можно прочитать на сайте semver.org
Посмотрим содержимое файла package-lock.json
Посмотрим, что лежит в папке node_modules. После установки jquery логичным будет, увидеть там папку jquery
В данном случае всё очевидно, но огромное количество пакетов создадут не одну папку а сразу несколько.
Старые версии npm создавали всегда одну папку и размещали все зависимости туда.
Новые версии npm сохраняют зависимости в node_modules.
Посмотрим, что лежит в папке node_modules/jquery.
AUTHORS.txt bower.json dist/ external/ LICENSE.txt package.json README.md src/
Как Вы можете видеть у jquery есть свой собственный файл package.json на данном этапе он гораздо содержательней нашего корневого package.json но это не надолго.
Установка определённой версии пакета
Установим ещё один пакет и поговорим о его возможных версиях
$ npm install normalize.css
Если package.json не содержит записи о normalize.css то будет установлена последняя стабильная версия.
Если в package.json указана версия, будет установлена она.
Если Вы хотите установить какую-то определённую версию, укажите её в package.json либо введите @номер_версии при установке.
Например npm install normalize.css @8.0.1
npm WARN heihei@1.0.0 No description
npm WARN heihei@1.0.0 No repository field.
Найти версию установленного пакета npm
Это печатает версию самого npm:
Это печатает загадочную ошибку:
Это печатает версию пакета в реестре (то есть последняя доступная версия):
Вы можете найти версию определенного пакета, передав его имя в качестве аргумента. Например, npm list grunt приведет к:
Кроме того, вы можете просто запустить, npm list не передавая имя пакета в качестве аргумента, чтобы увидеть версии всех ваших пакетов:
Что дает вам что-то вроде
Этот метод более понятен, если вы установили много пакетов.
Я просто использовал
и это работало отлично
В PowerShell запустите:
» обратите внимание на двойные кавычки
Из корня пакета сделайте:
РЕДАКТИРОВАТЬ 2 : обновляется в соответствии с ответом @ jeff-dickey
Для местных пакетов
Для глобальных пакетов
Комбинируя некоторые из приведенных выше ответов, вы получаете супер простой и супер быстрый поиск.
Запустить из корня проекта. Нет необходимости cd в любой папке, просто 1 строка:
Вы также можете проверить версию с помощью этой команды:
или, если вы хотите быть многословным
Кроме того, формат JSON немного отличается для глобальных пакетов, поэтому вам нужно изменить запрос.
Если вы достаточно смелы (и уже node установили), вы всегда можете сделать что-то вроде:
Это распечатает версию текущего пакета. Вы также можете изменить его, чтобы он сошел с ума, например так:
Чтобы увидеть все установленные пакеты локально или глобально, используйте эти команды:
Установите его, используя:
Это действительно быстро, и имеет некоторые приятные функции, такие как заполнение вкладок и поиск совпадений.
Для просмотра локальных пакетов с номером версии используйте:
Для просмотра глобальных пакетов с номером версии используйте:
чтобы установить его просто запустите
проверьте скриншот, он показывает все о версии пакета, обновлении новой версии и неиспользуемой версии.
Это работает глобально тоже. попробуй. Надеюсь, это поможет кому-то.