Разница между npx и npm?
Я только что начал обучение React и Facebook помогает упростить первоначальную настройку, предоставив следующий готовый проект. Ссылка на учетную запись Facebook на Github: https://github.com/facebook/create-react-app Если мне нужно установить скелетный проект, я должен набрать npx create-react-app my-app
в командной строке. Мне было интересно, почему учетная запись Facebook в Github имеет npx create-react-app my-app
скорее, чем npm create-react-app my-app
?
31 ответ
Представляем npx: бегун пакета npm
NPM
- Управляет пакетами, но не облегчает жизнь.
NPX
- Инструмент для выполнения пакетов Node.
NPX
поставляется в комплекте сNPM
версия5.2+
NPM
сам по себе не просто запустить какой-либо пакет. он не запускает ни одного пакета по сути. Если вы хотите запустить пакет с помощью NPM, вы должны указать этот пакет в своем packages.json
файл.
Когда исполняемые файлы установлены через пакеты npm, npm ссылается на них:
- В локальных установках они связаны с
node_modules/.bin/
каталог. - В глобальных установках они связаны с глобальным каталогом bin/ (например,
/usr/local/bin
).
Документация, которую вы должны прочитать
NPM:
Можно установить пакет локально на определенный проект:
npm install some-package
Теперь предположим, что вы хотите, чтобы NodeJS выполнил этот пакет из командной строки:
$ some-package
Выше не получится, потому что только глобально установленные пакеты могут быть выполнены, просто набрав их имя и нажав клавишу ввода.
Чтобы это исправить и запустить, вы должны ввести локальный путь:
$ ./node_modules/.bin/some-package
Технически вы можете запустить локально установленный пакет, отредактировав packages.json
файл и добавление этого пакета в scripts
раздел:
{
"name": "whatever",
"version": "1.0.0",
"scripts": {
"some-package": "some-package"
}
}
Затем запустите скрипт, используя npm run-script
(или же npm run
):
npm run some-package
NPX:
npx
проверим ли <command>
существует в $PATH
или в локальных двоичных файлах проекта и выполните его. Итак, для приведенного выше примера, если вы хотите выполнить локально установленный пакет some-package
все, что вам нужно сделать, это набрать:
npx some-package
Еще одно важное преимущество npx
это возможность выполнить пакет, который ранее не был установлен:
$ npx create-react-app my-app
Приведенный выше пример сгенерирует react
шаблон приложения в пути, по которому была запущена команда, и гарантирует, что вы всегда будете использовать последнюю версию генератора или инструмента сборки, не обновляя его каждый раз, когда вы собираетесь его использовать.
Смежные вопросы:
npx - это менеджер пакетов npm (x, вероятно, обозначает eXecute). Типичное использование - загрузка и запуск пакета временно или для ознакомительных испытаний.
create-Reaction-app - это пакет npm, который, как ожидается, будет запущен только один раз в жизненном цикле проекта. Следовательно, предпочтительно использовать npx для его установки и запуска за один шаг.
Как упомянуто на странице руководства https://www.npmjs.com/package/npx, npx может запускать команды в PATH или из node_modules/.bin по умолчанию.
Примечание. С некоторыми копаниями мы можем обнаружить, что create-реакции-приложение указывает на файл Javascript (возможно, на /usr/lib/node_modules/create-react-app/index.js в системах Linux), который выполняется в среде узла, Это просто глобальный инструмент, который делает некоторые проверки. Фактическая настройка выполняется по реагирующим скриптам, последняя версия которых установлена в проекте. Обратитесь к http://create-react-app/ для получения дополнительной информации.
NPM - менеджер пакетов, вы можете устанавливать пакеты node.js, используя NPM
NPX - это инструмент для выполнения пакетов node.js.
Неважно, установили ли вы этот пакет глобально или локально. NPX временно установит его и запустит. NPM также может запускать пакеты, если вы настроите файл package.json и включите его в раздел сценариев.
Запомните это, если вы хотите быстро проверить / запустить пакет узла без локальной или глобальной установки, используйте NPX.
npx
запускает команду пакета без явной установки.
Случаи применения:
- Вы не хотите устанавливать пакеты ни глобально, ни локально.
- У вас нет разрешения устанавливать его глобально.
- Просто хочу проверить некоторые команды.
Синтаксис:
npx [options] [-p|--package <package>] <command> [command-arg]...
Например:
Start a HTTP Server : npx http-server
Lint code : npx eslint ./src
Minify JS : npx -p uglify-js uglifyjs -o app.min.js app.js common.js
Minify CSS : npx clean-css-cli -o style.min.css css/bootstrap.css style.css
Minify HTML : npx html-minifier index-2.html -o index.html --remove-comments --collapse-whitespace
Scan for open ports : npx evilscan 192.168.1.10 --port=10-9999
Cast video to Chromecast : npx castnow http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerFun.mp4
NPX:
Веб-разработчики могут иметь десятки проектов на своих машинах для разработки, и каждый проект имеет свой собственный набор установленных npm-зависимостей. Несколько лет назад обычный совет для работы с приложениями CLI, такими как Grunt или Gulp, заключался в том, чтобы устанавливать их локально в каждом проекте, а также глобально, чтобы их можно было легко запустить из командной строки.
Но глобальная установка вызвала столько проблем, сколько она решила. Проекты могут зависеть от разных версий инструментов командной строки, и загрязнение операционной системы множеством специфических для разработки инструментов CLI также невелико. Сегодня большинство разработчиков предпочитают устанавливать инструменты локально и оставить все как есть.
Локальные версии инструментов позволяют разработчикам извлекать проекты из GitHub, не беспокоясь о несовместимости с глобально установленными версиями инструментов. NPM может просто установить локальные версии, и все готово. Но установки, специфичные для проекта, не обходятся без проблем: как запустить правильную версию инструмента, не указав его точное местоположение в проекте или не поигравшись с псевдонимами?
Это проблема, которую решает npx. Новый инструмент, включенный в NPM 5.2, npx - это небольшая утилита, которая достаточно умна, чтобы запускать правильное приложение, когда оно вызывается из проекта.
Например, если вы хотите запустить локальную для проекта версию mocha, вы можете запустить npx mocha внутри проекта, и она будет делать то, что вы ожидаете.
Полезным побочным преимуществом npx является то, что он автоматически устанавливает пакеты npm, которые еще не установлены. Итак, как отмечает создатель инструмента Кэт Марчан, вы можете запустить npx benny-hill без необходимости бороться с Benny Hill, загрязняющим глобальную среду.
Если вы хотите взять npx за спин, обновитесь до последней версии npm.
Простое определение:
npm - менеджер пакетов Javascript
npx - запускает двоичные файлы пакета npm
Вот пример NPX в действии: npx cowsay hello
Если вы введете это в свой терминал bash, вы увидите результат. Преимущество этого состоит в том, что npx временно установил cowsay. Там нет загрязнения пакета, так как коровье не установлено постоянно. Это отлично подходит для одноразовых упаковок, где вы хотите избежать загрязнения упаковки.
Как упоминалось в других ответах, npx также очень полезен в тех случаях, когда (с npm) необходимо установить пакет и настроить его перед запуском. Например, вместо использования npm для установки и настройки файла json.package, а затем для вызова настроенной команды запуска просто используйте вместо него npx. Реальный пример: npx create-Reaction-app my-app
NPM => Это менеджер пакетов JS.
NPX => Это инструмент для выполнения пакетов Node и выполнения двоичных файлов пакета npm.
Легко запомнить:
-np m означает MANAGER
-npx означает EXECUTE
NPM: NPM означает диспетчер пакетов узлов и является диспетчером пакетов по умолчанию для Node.js. Он был разработан Исааком З. Шлютером и первоначально был выпущен 12 января 2010 года. Он полностью написан на JavaScript. Он состоит из клиента командной строки npm, который управляет всеми пакетами и модулями node.js. Когда node.js установлен, он включается в установку.
npm run your-package-name
NPX - это инструмент, который используется для выполнения пакетов.
NPX - это аббревиатура от Node Package Execute. Пакет NPX поставляется с npm, поэтому, когда вы устанавливаете npm выше 5.2.0, NPX будет установлен автоматически.
Это средство запуска пакетов npm, которое может выполнять любой пакет, который вы хотите из реестра npm, даже не устанавливая этот пакет. Npx полезен во время одноразового использования пакета. Если вы установили npm ниже 5.2.0, значит, npx не установлен в вашей системе.
Выполните следующую команду, чтобы определить, установлен ли npx:
npx -v
Следующая команда может быть запущена, если npx не установлен.
npm install -g npx
Используйте npx для выполнения пакета:
npx your-package-name
NPM
означаетNode Package Manager
. NPM — это менеджер пакетов Node.JS по умолчанию. Он написан на Javascript. Роль NPM заключается в управлении пакетом и модулями node.js.
NPX
означаетNode Package Execute
. NPX поставляется с npm, когда npm устанавливается выше версии 5.2.0, он устанавливается автоматически. NPX — это средство запуска пакетов npm, и его роль — выполнять пакет из реестра, даже не устанавливая этот пакет.
Теперь различия между NPM и NPX следующие:
i) NPM используется для установки пакетов, а NPX — для выполнения пакетов.
ii) Из-за npm необходимо позаботиться об установленных пакетах, поскольку они установлены глобально, в то время как о пакетах, которые используются npx, не нужно заботиться, поскольку они не установлены глобально.
Самое простое определение:
NPX
Npx означает Node Package Execute и поставляется с npm, когда вы устанавливаете npm выше версии 5.2.0, автоматически устанавливается npx. Это средство запуска пакетов npm, которое может выполнять любой пакет, который вы хотите из реестра npm, даже не устанавливая этот пакет.
НПМ
npm - это менеджер пакетов для языка программирования JavaScript, поддерживаемый npm, Inc. npm - это менеджер пакетов по умолчанию для среды выполнения JavaScript Node.js. Он состоит из клиента командной строки, также называемого npm, и онлайн-базы данных общедоступных и оплачиваемых частных пакетов.
NPM расшифровывается как Node Package Manager . Он поставляется с предварительно установленным Node.js. NPM помогает управлять пакетами в ваших проектах как зависимостями.
При использовании NPM есть два способа установить пакет на локальный компьютер.
Локально : когда пакет устанавливается локально, он устанавливается в ./node_modules/.bin/ локального каталога проекта.
Глобально : глобальный пакет устанавливается по пути пользовательской среды. /usr/local/bin для Linux и AppData%/npm для Windows.
Чтобы выполнить локально установленный пакет, его необходимо указать в блоке скриптов package.json, как показано ниже.
"scripts": {
"your-package": "your-package-name"
}
Затем вы можете выполнить пакет с помощью:
npm run your-package-name
NPX — это исполнитель пакетов NPM . В настоящее время NPX поставляется вместе с NPM при установке NPM версии 5.2.0 или выше.
Почему NPX вместо NPM?
Нет необходимости редактировать файл package.json с путями node_modules.
Вы можете напрямую запустить инструмент из командной строки.
Простой ответ, как
NPX: используется для выполнения любого пакета узла без установки пакета на нашу машину.
NPM: используется для установки любого пакета node js на нашу машину. Мы можем использовать " require("package-name') " при установке любого пакета с помощью NPM, но мы не можем импортировать пакет, когда используем NPX.
Пример: вам следует запустить npm i axios, в этом случае вы устанавливаете пакет axios на свой локальный компьютер.
и npx create-react-app 'app-name' здесь вы выполняете пакет create-react-app прямо на своем компьютере, не устанавливая его файлы.
NPM против NPX
NPM расшифровывается как Node Package Manager. Текстовая программа для управления пакетами Nodejs.
В то время как NPX является средством запуска пакетов Node. Его функция заключается в выполнении пакета Nodejs.
NPX будет выполнять бинарные файлы из пакета Nodejs, как установленные, так и нет.
Даже NPX также может помочь нам использовать определенные версии Nodejs без необходимости использовать nvm (управление версиями node.js), nave (виртуальная среда node.js) и nvm (управление версиями node.js).
с npx:
npx create-react-app MyApp
ранее:
npm install -g create-react-app
create-react-app MyApp
Раньше перед его использованием необходимо было установить инструмент CLI локально, при этом npx больше не требуется.
NPM — МЕНЕДЖЕР ПАКЕТОВ УЗЛА
это менеджер пакетов.
Пакет node.js можно установить с помощью NPM.
NPX — ВЫПОЛНЕНИЕ ПАКЕТА УЗЛА
он выполняет пакет node.js
не имеет значения, установили ли вы пакет node.js локально или глобально.
NPX временно установит пакет и запустит его.
NPX используется, когда вы хотите выполнить пакет за один раз .
.
Просто:
-
npm
— это менеджер пакетов для установки и управления зависимостями. -
npx
— это инструмент для запуска пакетов и команд без их глобальной установки, часто используемый для разовых или конкретных задач.
Вот пример того, как может выглядеть создание вашего приложения с использованием
npx
npx create-response-app имя-проекта - шаблон все
Вот простое определение. NPM — это менеджер пакетов, вы можете устанавливать пакеты node.js с помощью NPM.
NPX — это инструмент для выполнения пакетов node.js.
NPX — это инструмент для создания и выполнения некоторых функций в новом проекте. NPM — это менеджер пакетов, содержащий все библиотеки.
Различия между NPM и NPX следующие:
i) NPM используется для установки пакетов, а NPX — для выполнения пакетов.
ii) Из-за npm необходимо позаботиться об установленных пакетах, поскольку они установлены глобально, в то время как пакеты, используемые npx, не нужно заботиться, поскольку они не установлены глобально.
npm (диспетчер пакетов узлов) :
- Он используется для установки и управления пакетами (библиотеками и зависимостями) для проектов Node.js.
- В основном он используется для установки пакетов глобально или локально, а также для управления зависимостями проекта путем обновления, удаления и вывода списка пакетов.
- Документация : Документация npm.
npx (пакет узла eXecute) :
- Это инструмент, входящий в состав npm (5.2.0 и выше) и используемый для непосредственного выполнения пакетов и команд Node.js.
- Он позволяет запускать команды из пакетов, которые не установлены глобально или локально, что делает его удобным для запуска одноразовых или менее часто используемых сценариев.
- Документация : Документация npx.
NPM — это менеджер пакетов, используемый для установки, удаления и обновления пакетов Javascript на вашем компьютере. NPX — это исполнитель пакетов, который используется для непосредственного выполнения пакетов javascript, без их установки.
npm — это инструмент, который используется для установки пакетов, а npx — это инструмент, который используется для выполнения пакетов.npm — если вы хотите запустить пакет через npm, вам нужно указать этот пакет в вашем package.json и установить его локально. Пакет npx-A может быть выполнен без установки пакета. Это средство запуска пакетов npm, поэтому, если какие-либо пакеты еще не установлены, он установит их автоматически.
Просто npm — это диспетчер пакетов узлов, а npx — это исполняемая версия, которая запускает пакеты npm.
npm - менеджер пакетов
npx — выполнить пакет npm
В этом разница с ним.
NPM (менеджер пакетов узлов)
Это менеджер зависимостей / пакетов, который вы получаете из коробки при установке Node.js. Он позволяет разработчикам устанавливать пакеты как глобально, так и локально.вы можете запустить скрипт с помощью npm run:
npm запустите ваш-пакет
NPX
Это также инструмент командной строки, цель которого - упростить установку и управление зависимостями, размещенными в реестре npm.Это означает, что npx, то есть глобальное пространство, не загрязняет окружающую среду. Сэкономьте место на диске и просто запускайте их только тогда, когда они вам нужны. Это также означает, что ваши глобальные переменные будут менее загрязнены.
это означает, что мы можем сказать: npx помогает нам избежать проблем с версиями, зависимостями и установки ненужных пакетов, которые мы просто хотим опробовать.
На самом деле, я пробовал много способов решить эту проблему и потерпел неудачу, но, наконец, удаление / удаление пряжи глобально решает проблему.
просто введите эту команду в терминале командной строки:
npm uninstall -g пряжа
А затем запустите приведенную ниже команду, чтобы установить проект React Starter.
npx создать-реагировать-приложение
NPX - это пакетный инструмент и инструмент, который можно использовать с NPM. Я не знаю много об этом, но я нашел эту ссылку, которая может помочь.
https://medium.com/@maybekatz/introducing-npx-an-npm-package-runner-55f7d4bd282b
Извините, я не смог полностью уточнить.
Если вы используете npm 5.1 или более раннюю версию, вы не можете использовать npx. Вместо этого, установите create-Reaction-app глобально:
npm install -g создать-реагировать-приложение
Теперь вы можете запустить:
создать-реагировать-приложение мое-приложение