Оригинальный пост в Введение в NPM
Введение в нпм
npm — стандартный менеджер пакетов для Node.js.
Есть много вещей, которые делает npm. Это позволяет легко управлять пакетами node.js. Вы можете устанавливать пакеты node.js, делиться ими и управлять ими.
npm состоит из трех компонентов:
На официальном Веб-сайте npm вы можете найти пакеты, просмотреть документацию, поделиться и опубликовать пакеты.
Реестр npm — это большая база данных, состоящая из пакетов. В сентябре 2019 года в реестре было зарегистрировано более 1 миллиона пакетов, что сделало npm крупнейшим хранилищем кода для одного языка! и вы можете быть уверены, что есть пакет для (почти!) всего. Он начинался как способ загрузки и управления зависимостями пакетов Node.js, но с тех пор стал инструментом, используемым также во внешнем JavaScript.
CLI — это командная строка, которая помогает взаимодействовать с npm для установки, обновления и удаления пакетов, а также для управления зависимостями.
Примечание: Yarn — это альтернатива npm. Убедитесь, что вы проверить его, а также.
Установка
npm поставляется с Node.js, это означает, что вам не нужно устанавливать его отдельно. Перейдите на официальный сайт Скачать Node.js и установите его, если он еще не установлен в вашей системе.
После установки узла вы можете проверить версию узла и npm, запустив
$ узел — версия
$ npm — версия
пакет.json
package.json — это файл манифеста проекта. Используя package.json, вы можете управлять зависимостями и писать скрипты. В нем есть все метаданные о проекте.
Инициировать проект
› Примечание: вам нужно сделать это только в том случае, если вы начинаете новый проект, если нет, посмотрите, существует ли файл package.json.
Чтобы создать package.json, сначала перейдите в папку проекта. Вы можете создать package.json, выполнив команду
Инициализация $npm
Он запрашивает у вас некоторые данные, такие как имя пакета, описание, версия, автор, лицензия и т. д. Вы можете просто нажать Enter для значений по умолчанию.
Или быстро создать файл package.json. Вы можете использовать команду
$ npm инициализация -y
Установка всех зависимостей
Если в проекте есть файл packages.json, запустив команду
$ npm установить
он установит все зависимости, которые нужны проекту, то есть пакеты из зависимостей и devDependencies в package.json, в папке node_modules, создав ее, если она еще не существует.
node_modules — это папка, в которой установлены наши локальные пакеты. Появится новый файл с именем package-lock.json. Этот файл содержит точную версию пакета, в отличие от package.json, который содержит семантическую версию.
Установка одного пакета
Вы также можете установить конкретный пакет, запустив
$ npm install ‹имя-пакета›
Часто к этой команде добавляются дополнительные флаги:
- — save устанавливает и добавляет запись в зависимости файла package.json (по умолчанию, начиная с npm 5)
— — save-dev устанавливает и добавляет запись в файл package.json devDependencies
- — без сохранения устанавливает, но не добавляет зависимость в файл package.json.
Разница в основном в том, что devDependencies обычно являются инструментами разработки, такими как библиотека тестирования, а зависимости связаны с приложением в рабочей среде.
Установка одного пакета Глобально
Глобально установленные пакеты работают в любом месте на машине. Чтобы установить глобальные пакеты, вы должны использовать флаг -g.
Как правило, любые пакеты, которые вы используете в своем проекте, должны быть установлены локально. И пакеты, которые вы используете в командной строке, должны быть установлены глобально.
Команда для локальных и глобальных пакетов одинакова, за исключением того, что для глобальных пакетов необходимо использовать флаг -g.
Например, вы можете установить nodemon глобально, это утилита, которая будет отслеживать любые изменения в вашем исходном коде и автоматически перезапускать ваш сервер, это отличная идея для разработки.
$ npm install -g nodemon
Версии
В дополнение к простым загрузкам, npm также управляет версиями, поэтому вы можете указать любую версию пакета или потребовать версию выше или ниже той, которая вам нужна.
Возможно, вы обнаружите, что библиотека совместима только с основной версией другой библиотеки. Или ошибка в последней версии библиотеки, которая до сих пор не исправлена, вызывает проблему.
Указание явной версии библиотеки также помогает всем использовать одну и ту же версию пакета, чтобы вся команда работала с одной и той же версией до тех пор, пока не будет обновлен файл package.json.
Во всех этих случаях очень помогает управление версиями, и npm следует стандарту семантического управления версиями (semver).
Все версии пакетов представлены тремя цифрами
- Первая цифра - старшая
- Вторая - младшая
- Третья - патч.
Патч (~) обновлен для исправления ошибок.
Младший (^) обновляется для каждой новой функциональности, которая не нарушает существующий код.
Майор обновлен для больших изменений. Обычно они нарушают существующий код.
В package.json при установке пакета вы по умолчанию увидите символ вставки^. Это означает, что когда пользователь загружает ваш проект, пакет будет обновлен до последней дополнительной версии. То же самое относится и к патчу. Если мы не включаем какой-либо символ, то загружается точная версия. Чтобы получить последнюю основную версию, используется звездочка `*`. Но вы не хотите этого делать, так как основная версия может сломать ваш код.
Чтобы установить основную, дополнительную, патч (или) точную версию, вы можете использовать команду
$ npm install ‹package-name›@x.y.x
Например, установим lodash
Есть несколько способов сделать это. Во-первых, давайте начнем с основного
$ npm установить lodash
Эта команда устанавливает lodash и загружает последнюю доступную версию.
Если вы точно знаете, какая версия пакета вам нужна, вы можете добавить ее к имени пакета после символа `@`
$ npm установить [email protected]
Если вы не знаете точную версию пакета, npm также позволяет использовать семантические диапазоны для определения версии.
$ npm install lodash@⁴.0.0
Эта команда установит последнюю версию 4.x.x.
Оба примера не изменяют package.json и не добавляют установленные модули в список зависимостей. Мы должны использовать — save, чтобы добавить установленный модуль в зависимости package.json и — save-dev, чтобы добавить его в devDependencies.
Если вы устанавливаете модуль без определения конкретной версии, npm добавит семантический диапазон в package.json как есть. Чтобы этого не произошло, используйте флаг —save-exact в дополнение к —save или —save-dev. Этот флаг заставит npm хранить точную версию модуля в package.json.
Обновление пакетов
Поскольку мы установили пакеты, иногда нам нужно обновить наши пакеты, чтобы получить новые функции. Для этого вам нужно запустить
Обновление $ npm
npm проверит и обновит все перечисленные пакеты до последней версии, которая удовлетворяет вашим ограничениям версий.
Обновление одного пакета
Для обновления одного пакета вы также можете указать его для обновления
$ npm update ‹package-name›
Удалить один пакет
Иногда вам не нужен определенный пакет, и вы хотите его удалить. Не рекомендуется вручную удалять пакет из папки node_modules, поскольку он может быть зависимостью для других пакетов. Чтобы безопасно удалить пакет, вам нужно запустить
$ npm удалить ‹имя-пакета›
Это полностью удалит все, что npm установило от его имени.
Вы должны использовать соответствующий флаг, чтобы сохранить изменения в package.json.
Например, если вы хотите удалить lodash из зависимостей package.json, вы должны запустить
$ npm удалить lodash — сохранить
Или из devDependencies
$ npm удалить lodash — save-dev
Список установленных пакетов
Чтобы получить список установленных пакетов, выполните команду
Список выполнения $ npm
В нем будут перечислены все пакеты, включая их зависимости. Установленные вами пакеты будут на глубине 0. Его зависимости будут на глубине 1, а последующие зависимости будут на глубине 2 и так далее. Для получения пакетов определенной глубины используйте команду
$ npm глубина списка ‹число›
Запуск задач
Файл package.json поддерживает формат для указания задач командной строки, которые можно запускать с помощью
$ npm run ‹имя_задачи›
Например:
{
«скрипты»: {
«start-dev»: «node lib/server-development»,
«start»: «node lib/server-production»
} ,
}
Очень часто эта функция используется для запуска Webpack:
{
«scripts»: {
«watch»: «webpack — watch — progress — colors — config webpack.conf.js»,
«dev»: «webpack — progress — colors — config webpack.conf.js»,
«prod»: «NODE_ENV=production webpack -p — config webpack.conf.js»,
},
}
Таким образом, вместо того, чтобы вводить эти длинные команды, которые легко забыть или ввести с ошибкой, вы можете запустить
$ npm run watch
$ npm run dev
$ npm run prod
Получать помощь
npm CLI имеет встроенную команду справки -n. Вы можете получить к нему доступ по
Справка по $ npm
Чтобы получить справку по конкретной команде, выполните
$ npm ‹команда› -h
Вы также можете найти помощь в документации по npm. Для этого используйте
$ npm help-search ‹command›
Теперь вы изучили все основы npm. Чтобы узнать больше о npm, вы можете перейти к документации на официальном Веб-сайте. Теперь вы можете начать использовать его в своих проектах, удачного взлома!
Спасибо за чтение! ❤
Если вам понравился этот пост, пожалуйста, поделитесь им со всеми вашими друзьями-программистами или лайкните Введение в NPM!