npm install save что это
Я видел некоторый учебник, где команда была:
Не удалось найти ответ в Google.
Обновление npm 5:
—save Вариант поручил НПМ включить пакет внутреннюю часть dependencies секции вашего package.json автоматически, тем самым экономя дополнительный шаг.
Чтобы добавить пакет в зависимости:
Добавить пакет в devDependencies
Похоже, что при запуске npm install package_name зависимость пакета автоматически добавляется в package.json, верно?
Этот список ярлыков можно получить, выполнив следующую команду:
Начиная с npm 5, npm теперь будет сохраняться по умолчанию. В случае, если вы хотите, чтобы npm работал по старому принципу (без автосохранения) так, как он работал в предыдущих версиях, вы можете обновить опцию config, чтобы включить автосохранение, как показано ниже.
Чтобы получить текущую настройку, вы можете выполнить следующую команду:
Данный пакет (package_x) будет сохранен в package.json внутри зависимостей. если вы добавите
Поэтому возникает вопрос, зачем нам нужно вводить наш установочный модуль в файл pacakge.json, потому что всякий раз, когда мы регистрируем код git или передаем наш код кому-то, мы всегда даем его или проверяем без него, node-modules потому что он очень большой по размеру и также доступен по адресу общее место, чтобы избежать этого, мы делаем это.
поэтому после получения команды code we simply need to run the npm install она прочитает файл package.json и установит необходимые необходимые пакеты.
Проще говоря, используя приведенную выше команду, нам не нужно будет записывать имя пакета в ваш файл package.json, он автоматически добавит его имя и зависимость от версии, которая понадобится вам в то время, когда вы приступите к производству или настройке в другой раз.
npm поможет установить
Приведенная выше команда поможет найти дополнительную опцию и исправить def.shown на рис.
в чем разница между:
9 ответов
допустим, вы раздували приложение, которое использовало момент пакет для анализа и отображения даты. Ваше приложение является планировщиком, поэтому ему действительно нужен этот пакет для запуска, как в:не может работать без него. В этом случае вы должны использовать
это создайте новое значение в пакете.в JSON
когда вы разрабатываете, это действительно помогает использовать такие инструменты, как наборы тестов и может понадобиться Жасмин-основной и карма. В этом случае вы должны использовать
это также создаст новое значение в вашем пакете.в JSON
взято непосредственно из npm docs docs#dependencies
зависимости задаются в простом объекте, который отображает имя пакета в диапазон версий. Диапазон версий-это строка, которая имеет один или больше разделенных пробелами дескрипторов. Также можно определить зависимости с tarball или git URL.
пожалуйста, не ставьте тестовые жгуты или транспиляторы в зависимости объект. См. В разделе devDependencies ниже.
Я надеюсь, что это поможет и ясно.
—save-dev добавляет сторонний пакет к зависимостям разработки пакета. Он не будет установлен, когда кто-то установит ваш пакет. Обычно он устанавливается только если кто-то клоны ваш исходный репозиторий и работает npm install в нем.
установка npm документацию можно сослаться здесь.
как предложено @andreas-hultgren в ответ и по npm docs:
Если кто-то планирует загрузить и использовать ваш модуль в своей программе, то они, вероятно, не хотят или не должны загружать и создавать внешнюю среду тестирования или документации, которую вы используете.
прекрасным примером этого является:
в этом случае вы хотели бы иметь Typescript (язык кодирования с возможностью синтаксического анализа javascript), доступный для разработки, но после развертывания приложения в нем больше нет необходимости, так как весь код был перенесен на javascript. Таким образом, нет смысла включать его в опубликованное приложение. Действительно, это займет только место и увеличит время загрузки.
—save-dev использовано для модулей используемых в развитии применения,не требует пока бегущ его в окружающей среде продукции —save используется для добавления его в пакет.json и требуется для запуска приложения.
npm link или npm install также установят модули dev-dependency вместе с модулями зависимостей в папке проекта
четкие ответы уже предусмотрены. Но стоит упомянуть, как devDependencies влияет на установку пакетов:
Если вы открываете пакет.JSON-файл, то вы увидите эти записи перечислены в двух разных разделах:
NPM. Package.json. Установка модулей. Определение команд¶
Кроме встроенных и кастомных модулей Node.js существует огромный пласт различных библиотек и фреймворков, разнообразных утилит, которые создаются сторонними производителями и которые также можно использовать в проекте, например, express, grunt, gulp и так далее. И они тоже нам доступны в рамках Node.js. Чтобы удобнее было работать со всеми сторонними решениями, они распространяются в виде пакетов. Пакет по сути представляет набор функциональностей.
Для автоматизации установки и обновления пакетов, как правило, применяются систему управления пакетами или менеджеры. Непосредственно в Node.js для этой цели используется пакетный менеджер NPM (Node Package Manager). NPM по умолчанию устанавливается вместе с Node.js, поэтому ничего доустанавливать не требуется. Но можно обновить установленную версию до самой последней. Для этого в командной строке/терминале надо запустить следующую команду:
Для нас менеджер npm важен в том плане, что с его помощью легко управлять пакетами. К примеру, создадим на жестком диске новую папку modulesapp (В моем случае папка будет находиться по пути C:\node\modulesapp ).
Далее определим файл простейшего сервера. Для этого в корневую папку проекта modulesapp добавим новый файл app.js :
Запустим сервер командой node app.js :
И в адресной строке браузера введем адрес http://localhost:3000/ :
Файл package.json¶
Теперь снова добавим express с помощью следующей команды:
Эта команда возьмет определение всех пакетов из секций dependencies и загрузит их в проект.
devDependencies¶
Удаление пакетов¶
Семантическое версионирование¶
Команды npm¶
NPM позволяет определять в файле package.json команды, которые выполняют определенные действия. Например, определим следующий файл app.js :
В данном случае мы получаем переданные при запуске приложению параметры.
И определим следующий файл package.json :
Например, для запуска команды start
Команды с остальными названия, как например, dev в вышеопределенном файле, запускаются так:
Например, последовательно выполним обе команды:
Использование модулей Node.js с npm и package.json
Published on April 13, 2020
Автор выбрал фонд Open Internet/Free Speech для получения пожертвования в рамках программы Write for DOnations.
Введение
Благодаря таким функциям, как оперативное выполнение ввода/вывода и его широко известному синтаксису JavaScript, Node.js быстро стал популярной рабочей средой для разработки веб-приложений на стороне сервера. Но по мере роста интереса создаются более крупные приложения, а управление сложностью базы кода и ее зависимостей становится сложнее. Node.js организует эти сложные процессы с помощью модулей, которые являются любым отдельным файлом JavaScript, содержащим функции или объекты, используемые другими программами или модулями. Группа из одного или нескольких модулей часто называется пакетом, а эти пакеты организованы менеджерами пакетов.
При создании более сложных проектов Node.js управление своими метаданными и зависимостями при помощи файла package.json позволит обеспечить более предсказуемые сборки, поскольку все внешние зависимости одинаковы. Файл будет автоматически отслеживать эту информацию. Хотя вы можете изменять файл напрямую для обновления метаданных вашего проекта, вам будет редко требоваться взаимодействовать с ним напрямую для управления модулями.
Предварительные требования
Для данного обучающего руководства вам потребуется следующее:
Шаг 1 — Создание файла package.json
Начнем это обучающее руководство с проекта в качестве примера — гипотетический модуль локатора Node.js, получающий IP-адрес пользователя и возвращающий страну происхождения. Вы не будете кодировать модуль в этом обучающем руководстве. Однако пакеты, которыми вы управляете, будут актуальны, если вы их разрабатывали.
Использование команды init
Вначале настройте проект, чтобы можно было попрактиковаться в управлении модулями. В своей оболочке создайте новую папку под названием locator :
Затем перейдите в новую папку:
Теперь инициализируйте интерактивную командную строку, введя следующее:
Результат будет выглядеть следующим образом:
Затем команда init запросит репозиторий GitHub проекта. Вы не будете использовать его в данном примере, поэтому оставьте и его пустым.
Шаг 2 — Установка модулей
Обычно в разработке программного обеспечения используются внешние библиотеки для выполнения вспомогательных задач в проектах. Это позволяет разработчику сосредотачивать внимание на бизнес-логике и создавать приложения более быстро и эффективно.
Рассмотрим это на примере. В вашем приложении локатора вы будете использовать библиотеку axios, которая поможет вам выполнять запросы HTTP. Установите ее, введя следующее в оболочке:
После установки библиотеки вы увидите примерно следующее:
Теперь откройте файл package.json в текстовом редакторе по вашему выбору. В этом обучающем руководстве мы будем использовать nano :
Вы увидите новое свойство, как подчеркнуто ниже:
в начале номера версии, это означает, что только более высокие номера версий PATCH удовлетворяют это ограничение.
После завершения просмотра package.json выйдите из файла.
Зависимости разработки
Пакеты, используемые для разработки проекта, но не для его создания или запуска, называются зависимостями разработки. Они не требуются для вашего модуля или приложения в производственной среде, но могут оказаться полезными при написании кода.
Например, разработчики часто используют инструменты статического анализа кода, чтобы обеспечить соответствие кода передовым практикам и единообразие стиля. Хотя это полезно для разработки, это только увеличивает размер дистрибутива без предоставления ощутимых выгод при развертывании в производственной среде.
Установите инструмент статического анализа кода в качестве зависимости разработки для вашего проекта. Попробуйте это в оболочке:
В результате вы получите следующий вывод:
Автоматически сгенерированные файлы: node_modules и package-lock.json
Папка node_modules содержит все установленные зависимости для вашего проекта. В большинстве случаев вы не должны назначать эту папку вашему репозиторию с контролем версии. По мере того как вы будете устанавливать больше зависимостей, размер этой папки будет быстро расти. Кроме того, файл package-lock.json хранит записи точных версий, установленных более сжато, поэтому включение node_modules не требуется.
Установка из package.json
С помощью ваших файлов package.json и package-lock.json вы можете быстро задать те же самые зависимости проекта, прежде чем начать разработку нового проекта. Чтобы продемонстрировать это, перейдите на один уровень выше в дереве директорий и создайте новую папку с именем cloned_locator на том же уровне директории, что и locator :
Перейдите в новую директорию:
Теперь скопируйте файлы package.json и package-lock.json из locator в cloned_locator :
Чтобы установить требуемые модули для этого проекта, введите следующее:
При развертывании в производственную среду вы можете пропустить зависимости разработки. Вспомните, что зависимости разработки хранятся в разделе devDependencies файла package.json и не влияют на управление вашим приложением. При установке модулей в рамках процесса непрерывной интеграции и разработки, чтобы развернуть приложение, пропустите зависимости разработки, введя следующее:
Прежде чем перейти к следующему разделу, вернитесь в папку locator :
Глобальная установка
Проверьте, что пакет успешно установлен, введя следующее:
Вы увидите примерно следующий результат:
Теперь, когда вы можете устанавливать модули, в следующем разделе вы будете практиковать методы управления своими зависимостями.
Шаг 3 — Управление модулями
Полный менеджер пакетов способен на гораздо большее, чем установка модулей. В npm имеется 20 команд, связанных с управлением зависимостями. На этом шаге вы:
Указание модулей
Если вы хотите знать, какие модули установлены в проекте, проще использовать команду list или ls вместо чтения package.json напрямую. Для этого введите следующее:
Результат должен выглядеть следующим образом:
По умолчанию ls отображает все дерево зависимостей — модули, от которых зависит ваш проект, и модули, от которых зависят ваши зависимости. Это может быть довольно неудобно, если вы хотите получить общий обзор того, что установлено.
Чтобы вывести только модули, которые вы установили, без их зависимостей, введите следующее в оболочке:
Результат будет выглядеть следующим образом:
Обновление модулей
Вывод будет выглядеть следующим образом:
Похоже, вы можете обновить eslint до последней версии. Используйте команду update или up следующим образом:
Вывод команды будет содержать установленную версию:
Если хотите обновить все модули одновременно, введите следующее:
Удаление модулей
Удаление зависимостей из проекта — обычное мероприятие в жизненном цикле разработки программного обеспечения. Зависимость может не решить проблему, как заявлено, или может не предоставить удовлетворительный опыт разработки. В этих случаях может быть лучше удалить зависимость и создать собственный модуль.
Вывод будет выглядеть следующим образом:
Здесь не указано явно, что axios был удален. Чтобы убедиться, что он был удален, еще раз укажите зависимости:
Теперь мы видим только то, что установлен eslint :
Проверка модулей
После установки устаревшей версии request вы должны увидеть примерно следующий результат:
npm указывает, что у вас есть уязвимости в ваших зависимостях. Для получения более подробных сведений проверьте весь ваш проект:
Команда audit показывает таблицы вывода, указывающие на недостатки безопасности:
Вы увидите примерно следующий результат:
npm смог безопасно обновить два пакета, тем самым устранив две уязвимости. Но у вас все еще есть четыре уязвимости в ваших зависимостях. Команда audit fix не всегда устраняет каждую проблему. Хотя версия модуля может иметь уязвимость безопасности, если вы обновите ее до версии с другим API, то это может нарушить код выше в дереве зависимостей.
Как упоминалось ранее, это не рекомендуется, если вы не уверены, что это не нарушит функциональность.
Что Такое npm? Общее Руководство для Начинающих
npm – это менеджер пакетов, который входит в состав Node.js. В течение многих лет Node широко использовался разработчиками JavaScript для обмена инструментами, установки различных модулей и управления их зависимостями. Вот почему людям, работающим с Node.js, очень важно понять, что такое npm.
Нужен недорогой, но надёжный хостинг для вашего нового проекта? Обратите внимание, что в Hostinger действуют скидки на все тарифы хостинга. Воспользуйтесь предложением и разместите сайт до 90% дешевле!
Как Работает npm?
Он работает, выполняя одну из своих двух ролей:
Утилита командной строки npm обеспечивает корректную работу node.js.
Метаданные показывают несколько аспектов проекта в следующем порядке:
Метаданные помогают идентифицировать проект и служат основным источником информации о проекте.
Вот пример того, как вы можете идентифицировать проект по его метаданным:
Как Установить Модули npm и Запустить Проекты?
Убедитесь, что node.js и npm установлены, выполнив несколько простых команд.
Если он не установлен, скачайте Node с сайта node.js и следуйте инструкциям установщика.
npm известен своим однострочным установщиком:
Так как новые версии npm выходят регулярно, позже вы сможете обновить его. Чтобы обновить npm, просто скачайте установщик с сайта node.js и запустите его снова. Последняя версия автоматически заменит версию на вашем компьютере.
Также вы можете обновить его с помощью этой команды:
Инициализация Проекта с npm
Например, давайте создадим каталог с именем test-npm и cd в него. Теперь давайте запустим нашу первую команду npm:
Полезной функцией является то, запуск инициализации менеджера пакетов Node сопровождается объяснениями:
Это выглядит следующим образом:
Установка Модулей npm
Пакет в node.js содержит все файлы, необходимые для модуля. Модули – это библиотеки JavaScript, которые вы можете включить в свой проект.
Установка модулей – одна из самых важных вещей, которую вы должны научиться делать, начиная работу с менеджером пакетов Node. Вот команда для установки модуля в текущий каталог:
В приведенной выше команде замените на имя модуля, который вы хотите установить.
Например, если вы хотите установить Express – наиболее используемый и наиболее известный фреймворк node.js, вы можете выполнить следующую команду:
Приведённая выше команда установит модуль Express в /node_modules в текущий каталог.
Вот как это выглядит после установки модуля в ваш проект:
Выводы
Вот список основных команд, которые следует знать, если вы хотите не только разбираться в том, что такое npm, но и работать с ним:
Если вы планируете работать с JavaScript, npm – незаменимый инструмент в вашем рабочем процессе.
Ольга уже около пяти лет работает менеджером в сфере IT. Написание технических заданий и инструкций — одна из её главных обязанностей. Её хобби — узнавать что-то новое и создавать интересные и полезные статьи о современных технологиях, веб-разработке, языках программирования и многом другом.