Что Такое npm? Общее Руководство для Начинающих

npm – это менеджер пакетов, который входит в состав Node.js. В течение многих лет Node широко использовался разработчиками JavaScript для обмена инструментами, установки различных модулей и управления их зависимостями. Вот почему людям, работающим с Node.js, очень важно понять, что такое npm.

Нужен недорогой, но надёжный хостинг для вашего нового проекта? Обратите внимание, что в Hostinger действуют скидки на все тарифы хостинга. Воспользуйтесь предложением и разместите сайт до 90% дешевле!

Купить хостинг

Как Работает npm?

Он работает, выполняя одну из своих двух ролей:

  • Это широко используемый репозиторий для публикации проектов Node.js с открытым исходным кодом. Это означает, что это онлайн-платформа, где каждый может публиковать и делиться инструментами, написанными на JavaScript.
  • npm – это инструмент командной строки, который помогает взаимодействовать с онлайн-платформами, такими как браузеры и серверы. Эта утилита помогает в установке и удалении пакетов, управлении версиями и зависимостями, необходимыми для запуска проекта.

Чтобы использовать npm, нужно сначала установить node.js, так как они связаны.

Страница Загрузки Node.js

Утилита командной строки npm обеспечивает корректную работу node.js.

Чтобы использовать пакеты, ваш проект должен содержать файл с именем package.json. Внутри этого пакета вы найдёте метаданные, касающиеся проектов.

Метаданные показывают несколько аспектов проекта в следующем порядке:

  • Название проекта
  • Первоначальная версия
  • Описание
  • Точка входа
  • Тестовые команды
  • Репозиторий Git
  • Ключевые слова
  • Лицензия
  • Зависимости
  • DevDependencies

Метаданные помогают идентифицировать проект и служат основным источником информации о проекте. 

Вот пример того, как вы можете идентифицировать проект по его метаданным:

{
  "name": "hostinger-npm",
  "version": "1.0.0",
  "description": "npm guide for beginner",
  "main": "beginner-npm.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "npm",
    "example",
    "basic"
  ],
  "author": "Hostinger International",
  "license": "MIT",
  "dependencies": {
    "express": "^4.16.4"
  }
}
  • Имя: hostinger-npm
  • Версия: 1.0.0
  • Это руководство по npm для начинающих
  • Точка входа в проект или основной файл: beginner-npm.js
  • Ключевые слова или теги для поиска проекта в репозитории: npm, example и basic
  • Автор проекта: Hostinger International.
  • Этот проект лицензирован в рамках MIT
  • Зависимости или другие модули, которые использует этот модуль – express 4.16.4

Как Установить Модули npm и Запустить Проекты?

Убедитесь, что node.js и npm установлены, выполнив несколько простых команд.

Чтобы посмотреть, установлен ли node.js, откройте Терминал или инструмент командной строки и введите node -v. Если пакет node.js уже установлен, вы должны увидеть номер версии:

$ node -v 
v0.10.9

Чтобы узнать, установлен ли npm, введите npm -v. Опять же таки, вы должны увидеть номер версии:

$ npm -v 
1.2.25

Если он не установлен, скачайте Node с сайта node.js и следуйте инструкциям установщика.

npm известен своим однострочным установщиком:

$ curl https://npmjs.org/install.sh | sh

Так как новые версии npm выходят регулярно, позже вы сможете обновить его. Чтобы обновить npm, просто скачайте установщик с сайта node.js и запустите его снова. Последняя версия автоматически заменит версию на вашем компьютере.

Также вы можете обновить его с помощью этой команды:

$ npm update -g npm

Инициализация Проекта с npm

Если у вас уже есть Node и npm, и вы хотите приступить к разработке, выполните команду npm init. Это запустит инициализацию вашего проекта.

Например, давайте создадим каталог с именем test-npm и cd в него. Теперь давайте запустим нашу первую команду npm:

$ npm init

Эта команда служит инструментом для создания файла package.json проекта. После выполнения шагов npm init, файл package.json будет сгенерирован автоматически и помещён в текущий каталог.

Полезной функцией является то, запуск инициализации менеджера пакетов Node сопровождается объяснениями: 

mymacs-MacBook-Pro: test-npm mymac$ npm init
This utility will walk you through creating a package.json file. 
It only covers the most common items, and tries to guess sane defaults. 

See `npm help json` for definitive documentation on these fields and exactly what they do. 

Use `npm install --save` afterwards to install a package and save it as a dependency in the package.json file. 

Press ^C at any time to quit. 
name: (test-npm)

Ответьте на подсказки npm init.

name: (test-npm)hostinger-npm
version: (1.0.0)1.0.0
description: npm guide for beginner
entry point: (index.js) beginner-npm.js
test command:
git repository:
keywords: npm, example, beginner
author: Hostinger Internationallicense: (ISC) MIT

Нажмите “Enter”, чтобы принять их. Затем npm init даст вам возможность предварительно просмотреть package.json, который будет создан. 

Это выглядит следующим образом:

{
  "name": "hostinger-npm",
  "version": "1.0.0",
  "description": "npm guide for beginner",
  "main": "beginner-npm.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "npm",
    "example",
    "basic"
  ],
  "author": "Hostinger International",
  "license": "MIT",
  "dependencies": {
    "express": "^4.16.4"
  }
}

Is this OK? (yes) yes
mymac-MacBook-Pro: test-npm mymac$

Введите “yes” и нажмите “Enter”, чтобы сохранить package.json. Вы всегда можете изменить его позже, либо отредактировав файл напрямую, либо снова запустив npm init.

Установка Модулей npm

Пакет в node.js содержит все файлы, необходимые для модуля. Модули – это библиотеки JavaScript, которые вы можете включить в свой проект.

Установка модулей – одна из самых важных вещей, которую вы должны научиться делать, начиная работу с менеджером пакетов Node. Вот команда для установки модуля в текущий каталог:

$ npm install <module> 

$ npm i <module>

В приведенной выше команде замените <module> на имя модуля, который вы хотите установить.

Например, если вы хотите установить Express – наиболее используемый и наиболее известный фреймворк node.js, вы можете выполнить следующую команду:

 $ npm install express
[mymac-MacBook-Pro:test-npm mymac$ npm install express]
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN hostinger-npm@1.0.0 No repository field.

+ express@4.16.4
added 48 packages from 36 contributors and audited 121 packages in 2.798s
found 0 vulnerabilities

mymac-MacBook-Pro: test npm mymac$

Приведённая выше команда установит модуль Express в /node_modules в текущий каталог.

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

Вот как это выглядит после установки модуля в ваш проект:

[mymac-MacBook-Pro:test-npm mymac$ npm install express]
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN hostinger-npm@1.0.0 No repository field.

+ express@4.16.4
added 48 packages from 36 contributors and audited 121 packages in 2.798s
found 0 vulnerabilities

mymac-MacBook-Pro: test npm mymac$

Выводы

Разбираясь с вопросом, что такое npm, вы наверняка заметили, что помимо своей основной функции – функции онлайн-базы данных для различных пакетов node.js – ещё одной целью менеджера пакетов Node (npm) являются автоматические зависимости и управление файлами package.json, благодаря его интерфейсу командной строки.

Вот список основных команд, которые следует знать, если вы хотите не только разбираться в том, что такое npm, но и работать с ним:

  • Установка npm:
$ curl https://npmjs.org/install.sh | sh
  • Проверка версии:
$ npm -v
  • Инициализация проекта:
$ npm init
  • Установка модулей:
$ npm install <module> 

$ npm i <module>

Если вы планируете работать с JavaScript, npm – незаменимый инструмент в вашем рабочем процессе.

 

Author
Автор

Olha L.

Ольга вже близько восьми років працює менеджером у сфері IT, три з яких вона займається SEO. Написання технічних завдань та інструкцій — один з її основних обов'язків. Її хобі — дізнаватися щось нове і створювати цікаві та корисні статті про сучасні технології, веброзробку, мови програмування, пошукову оптимізацію сайтів та багато іншого.