«npx vs npm» — это сравнение двух популярных инструментов командной строки в экосистеме Node.js.
-
Цель:
- npm: npm (диспетчер пакетов узлов) в основном используется для управления и установки пакетов из реестра npm. Он управляет зависимостями проекта и помогает управлять версиями и распространением пакетов.
- npx: npx — это инструмент, входящий в состав npm, начиная с версии 5.2.0. Он используется для выполнения пакетов Node без необходимости их глобальной установки.
-
Установка пакетов:
- npm: Чтобы установить пакет глобально, вы можете использовать команду
npm install -g <имя-пакета>
. Это делает пакет доступным во всей системе. - npx: пакеты можно запускать напрямую, не устанавливая их глобально с помощью npx. Например,
npx create-react-app my-app
создаст новое приложение React без необходимости глобальной установки create-react-app.
- npm: Чтобы установить пакет глобально, вы можете использовать команду
-
Выполнение:
- npm: Чтобы запустить пакет, установленный глобально, вы должны использовать команду
npm run
. Он выполняет указанный скрипт, определенный в файле package.json. - npx: с помощью npx вы можете запустить пакет без необходимости глобальной установки. Например,
npx webpack
выполнит локально установленный пакет веб-пакета.
- npm: Чтобы запустить пакет, установленный глобально, вы должны использовать команду
-
Запуск определенных версий пакета:
- npm: чтобы запустить определенную версию глобально установленного пакета, вам необходимо установить эту конкретную версию глобально.
- npx: с помощью npx вы можете запустить определенную версию пакета, не устанавливая его глобально. Например,
npx -p webpack@4 webpack
запустит веб-пакет версии 4 без необходимости глобальной установки.
-
Выполнение одноразовых команд:
- npm: npm не предназначен для прямого выполнения одноразовых команд.
- npx: npx специально разработан для выполнения одноразовых команд. Например,
npx eslint --init
инициализирует ESLint для вашего проекта без необходимости глобальной установки ESLint.
-
Выбор между npx и npm:
- Используйте npm, если хотите управлять зависимостями и устанавливать пакеты глобально.
- Используйте npx, когда вам нужно запускать одноразовые команды, выполнять локально установленные пакеты или запускать определенные версии пакетов без их глобальной установки.