Понимание разницы между npm и npx

Аватарка пользователя Федор Кожемякин

Объяснили, в чём разница между ‘npm’ и ‘npx’ — двумя ключевыми инструментами в экосистеме Node.js.

В экосистеме Node.js существуют два ключевых инструмента – ‘npm’ и ‘npx’. Эти инструменты предназначены для управления и выполнения пакетов Javascript. Хотя оба они связаны с Node.js, их функциональное назначение различно.

npm: менеджер пакетов Node

‘npm’ является стандартным менеджером для Node.js. Он позволяет разработчикам устанавливать, обмениваться и управлять зависимостями, что делает его неотъемлемой частью экосистемы Node.js.

Основные возможности:

1. Установка пакетов: ‘npm’ позволяет разработчикам устанавливать пакеты глобально или локально в рамках проекта.

			npm install  # Local Installation
npm install -g  # Global Installation
		

2. Управление зависимостями: ‘npm’ поддерживает файл ‘package.json’ в каждом проекте, который содержит информацию о зависимостях проекта.

			npm init # Initialize a new package.json
		

3. Выполнение скриптов: Разработчики также могут определить пользовательский скрипт в файле ‘package.json’, а ‘npm’ позволяет выполнять эти скрипты.

			npm run
		

npx: выполнение пакетов Node.js

‘npx’ – это инструмент, который поставляется в комплекте с ‘npm’ (версия > 5.2.0) и используется как средство выполнения пакетов Node.js. Он применяется для временной установки и выполнения пакетов без необходимости их глобальной установки.

Основные возможности:

1. Выполнение пакетов: ‘npx’ позволяет выполнять бинарные файлы как из локально установленных, так и из глобально установленных пакетов. Он автоматически устанавливает и выполняет пакеты.

			npx
		

2. Выполнение команд: Помимо выполнения пакетов, он может использоваться и для запуска общих команд.

			npx
		

3. Указание версии пакета: Разработчики могут указать конкретную версию пакетов для использования при выполнении.

			npx -p @
		
***

Теперь объясним вышеупомянутый жаргон простым языком:

NPM

‘npm’ можно сравнить с библиотекарем, который помогает вам найти и “взять напрокат” различные кусочки кода, известные как пакеты. Эти пакеты похожи на специальные книги, в которых содержатся полезная информация и инструменты. Когда вы хотите использовать определенный пакет в проекте, вы просите ‘npm’ добавить его в ваш проект.

Например: Вы говорите библиотекарю (‘npm’), что вам нужен инструмент под названием ‘robot-builder’ для вашего проекта. Теперь ‘npm’ отправляется в библиотеку, находит инструмент robot-builder и привозит его в ваш проект.

			npm install robot-builder
		

Библиотекарь ‘npm’ поддерживает чек-лист (‘package.json’), в котором он записывает все вещи, которые вы взяли напрокат.

			// package.json
{
  "dependencies": {
    "robot-builder": "1.0.0"
  }
}
		

NPX

С другой стороны, ‘npx’ – это как полезный друг, которого вы можете позвать, когда вам нужно использовать инструмент или специальную команду на короткое время. Это похоже на то, как если бы вы вызвали друга для выполнения конкретной задачи, но вам не нужно держать этого друга рядом постоянно – вы зовете его, когда вам нужна помощь.

Например: Вы звоните другу (‘npx’) и просите его использовать инструменты ‘robot-builder’ для покраски вашего робота. Ваш друг знает, как использовать этот инструмент и помогает вам завершить задачу по покраске, не устанавливая пакет на постоянной основе.

			npx robot-builder paint-robot
		

Как только покраска завершена, вам больше не нужен ваш друг (‘npx’). Он помог вам с конкретными задачами, и теперь вы можете продолжить другие дела.

Таким образом, вкратце, ‘npm’ – это как ваш библиотекарь, помогающий управлять и занимать пакеты, в то время как ‘npx’ – это как знающий друг, которого вы зовете на помощь с конкретными задачами. Оба они призваны упростить вашу жизнь в кодировании!

Веб-разработка
Инструменты
357