Содержание
Управление npm-пакетами — Visual Studio (Windows)
-
- Чтение занимает 3 мин
В этой статье
npm позволяет устанавливать пакеты для приложений Node.js и управлять ими. Visual Studio позволяет легко взаимодействовать с npm и использовать команды npm через пользовательский интерфейс или напрямую. Если вы не знакомы с npm и хотите узнать больше, перейдите на страницу документации npm.
Интеграция Visual Studio с npm зависит от типа проекта.
Важно!
npm ожидает найти папку node_modules и файл package.json в корневом каталоге проекта. Если структура папок вашего приложения отличается, ее можно изменить, чтобы управлять пакетами npm с помощью Visual Studio.
Проекты Node.js
Для проектов Node.js можно выполнить следующие задачи:
Эти функции работают вместе и синхронизируются с системой проекта и файлом package.json в проекте.
Предварительные требования
Чтобы добавить поддержку NPM в проект, вам потребуется рабочая нагрузка разработки Node.js и установленная среда выполнения Node.js. Подробные инструкции см. в разделе Создание проекта Node.js.
Примечание
Чтобы включить npm в существующем проекте Node.js, используйте шаблон решения Из существующего кода Node.js или тип проекта Открыть папку (Node.js).
Установка пакетов из обозревателя решений (Node.js)
Самый простой способ установить пакеты npm в проекты Node.js — через окно установки пакетов npm. Чтобы открыть это окно, щелкните правой кнопкой мыши узел npm в проекте и выберите пункт Установить новые пакеты npm.
В этом окне можно найти пакет, указать параметры и установить пакет.
- Тип зависимости — выберите Стандартный, Разработка или Необязательный. Вариант «Стандартный» означает, что пакет является зависимостью среды выполнения, а вариант «Разработка» указывает, что пакет необходим только во время разработки.
- Добавить в package.json — рекомендуется. Этот настраиваемый параметр является устаревшим.
- Выбранная версия — выберите версию пакета, который вы хотите установить.
- Другие аргументы npm — укажите другие стандартные аргументы npm. Вы можете указать значение версии, например
@~0.8
, чтобы установить определенную версию, которая недоступна в списке версий.
Ход установки можно просмотреть в выходных данных npm в окне Вывод. Чтобы открыть окно, выберите Вид > Вывод или нажмите сочетание клавиш CTRL + ALT + O. Это может занять некоторое время.
Совет
Если вы хотите найти пакеты с заданной областью, добавьте в начало поискового запроса нужную область, например, введите @types/mocha
, чтобы искать файлы определений TypeScript для mocha. Кроме того, при установке определений типов для TypeScript можно указать целевую версию TypeScript, добавив @ts2.6
в поле аргумента npm.
Управление установленными пакетами из обозревателя решений (Node.js)
Пакеты npm отображаются в обозревателе решений. Записи в узле npm повторяют зависимости в файле package.json.
Состояние пакета
- — установлен и указан в package.json
- — установлен, но явно не указан в файле package.json
- — не установлен, но указан в package.json
Щелкните правой кнопкой мыши узел npm, чтобы выполнить одно из следующих действий:
- Установка новых пакетов NPM Открывает пользовательский интерфейс для установки новых пакетов.».
- Удалить пакеты NPM удалит пакет и удаляет его из package.json (Запускает
npm uninstall --save
.)
Щелкните правой кнопкой мыши узел пакета или узел npm и выполните одно из следующих действий:
- Установите отсутствующие пакеты, указанные в package.json
- Обновите пакеты npm до последней версии
- Удалите пакет и исключите его из package.json
Использование команды .npm в интерактивном окне Node.js (Node.js)
Вы также можете использовать команду .npm
в интерактивном окне Node.js для выполнения команды npm. Чтобы открыть окно, в Обозревателе решений щелкните проект правой кнопкой мыши и выберите пункт Открыть интерактивное окно Node.js (или нажмите сочетание клавиш CTRL + K, N).
В этом окне вы можете использовать следующие команды для установки пакета:
.npm install [email protected]
Совет
По умолчанию npm будет выполняться в домашнем каталоге проекта. Если у вас несколько проектов в решении, укажите имя или путь к проекту в квадратных скобках.
.npm [MyProjectNameOrPath] install [email protected]
Совет
Если проект не содержит файл package.json, используйте .npm init -y
, чтобы создать файл package.json со значениями по умолчанию.
Проекты ASP.NET Core
Поддержку npm можно интегрировать, например, в проекты ASP.NET Core, и использовать npm для установки пакетов.
Примечание
Для установки клиентских файлов JavaScript и CSS в проектах ASP.NET Core вместо npm можно также использовать диспетчер библиотек или yarn.
Добавление поддержки npm в проект (ASP.NET Core)
Если в проекте еще нет файла package.json, добавьте его, чтобы включить поддержку npm. Добавьте файл package.json в проект.
Если Node.js не установлен, мы рекомендуем установить версию LTS с веб-сайта Node.js для обеспечения наилучшей совместимости с внешними платформами и библиотеками.
Для npm требуется Node.js.
Чтобы добавить файл package.json, щелкните правой кнопкой мыши проект в Обозревателе решений и выберите Добавить > Новый элемент (или нажмите сочетание клавиш CTL + SHIFT + A). Выберите Файл конфигурации NPM, оставьте имя по умолчанию и нажмите кнопку Добавить.
Если файл конфигурации npm отсутствует в списке, средства разработки Node. js не установлены. Вы можете использовать Visual Studio Installer для добавления рабочей нагрузки Разработка Node.js. Повторите предыдущий шаг.
Включите один или несколько пакетов npm в раздел
dependencies
илиdevDependencies
файла package.json. Например, в файл можно добавить следующие пакеты:"devDependencies": { "gulp": "4.0.2", "@types/jquery": "3.3.33" }
При сохранении файла Visual Studio добавляет пакет в узел Зависимости / npm в обозревателе решений. Если узел не отображается, щелкните правой кнопкой мыши файл package.json и выберите пункт Восстановить пакеты.
Примечание
В некоторых сценариях обозреватель решений может не отображать правильное состояние для установленных пакетов npm. Дополнительные сведения см. в руководстве по устранению неполадок.
Установка пакетов с помощью файла package.json (ASP.NET Core)
В проектах, уже содержащих npm, можно настроить пакеты npm с помощью package.json
. Щелкните правой кнопкой мыши узел npm в обозревателе решений и выберите Открыть файл package.json.
IntelliSense в package.json помогает выбрать конкретную версию пакета npm.
При сохранении файла Visual Studio добавляет пакет в узел Зависимости / npm в обозревателе решений. Если узел не отображается, щелкните правой кнопкой мыши файл package.json и выберите пункт Восстановить пакеты.
Установка пакета может занять несколько минут. Проверьте ход установки пакета, перейдя к выходным данным npm в окне вывода.
Устранение неполадок при работе с пакетами npm
Для npm необходим Node.js. Если Node.js не установлен, мы рекомендуем установить версию LTS с веб-сайта Node.js для обеспечения наилучшей совместимости с внешними платформами и библиотеками.
Для проектов Node. js необходимо установить рабочую нагрузку разработки Node. js для поддержки npm.
В некоторых сценариях обозреватель решений может не отображать правильное состояние для установленных пакетов npm в связи с известной проблемой, описанной здесь. Например, при установке пакет может отображаться как неустановленный. В большинстве случаев обозреватель решений можно обновить, удалив файл package.json, перезапустив Visual Studio и повторно добавив файл package.json, как описано выше в этой статье. Или при установке пакетов можно использовать окно вывода npm для проверки состояния установки.
В некоторых сценариях ASP.NET узел npm в Обозревателе решений Solution Explorer может не отображаться после сборки проекта. Чтобы снова сделать узел видимым, щелкните правой кнопкой мыши узел проекта и выберите команду Выгрузить проект. Затем щелкните правой кнопкой мыши узел проекта и выберите команду Перезагрузить проект.
При возникновении ошибок при создании приложения или транскомпиляции кода TypeScript проверьте известные несовместимости пакета NPM, возможно они стали причиной ошибок. Чтобы определить ошибки, проверьте окно вывода npm при установке пакетов, как описано выше в этой статье. Например, если одна или несколько из версий пакетов npm стали нерекомендуемыми, из-за чего возникают ошибки, может потребоваться установить более поздние версии. Дополнительные сведения об использовании package.json для контроля версий пакетов npm см. в разделе Конфигурация package.json.
Установка nodejs и npm на linux
У меня возникла небольшая проблема с установкой nodejs и npm на мой сервер linux (который является pi под управлением raspbian). У меня все было настроено и запущено с помощью
sudo apt-get install nodejs npm
Все было прекрасно и денди, пока я не узнал, что, по-видимому, эти версии теперь устарели. Поэтому я их убрал
sudo apt-get purge nodejs npm
Затем я нашел следующий ответ (здесь ) на SO и побежал
curl -sL https://deb.nodesource.com/setup | sudo bash -
sudo apt-get install -y nodejs
Запуск node-v у меня версия 0.6.19…что, как я предполагаю, переводится в версию 6.19, а не в версию 0. Однако запуск npm-v сказал мне, что он не был установлен. Поэтому я еще раз очистил nodejs и стал искать другое решение. В этот момент я решил следить за материалом на сайте nodejs ( здесь ).) и выполнил следующие команды.
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt-get install -y nodejs
и
sudo apt-get install -y build-essential
2 проблемы:
1) установленная версия по-прежнему была 0.6.19. Я бы предпочел версию 4.x, так как это то, что я запускаю на своей машине dev (macOS Sierra).
2) у меня все еще нет npm. Что делает nodejs бесполезным
Любая помощь по любому из них (но предпочтительно 2) была бы великолепна. Заранее спасибо.
node.js
npm
Поделиться
Источник
MarkB
11 октября 2016 в 16:09
3 ответа
- Nodejs + npm, установка модулей на раздел ntfs
У меня есть проблема при установке модулей npm. NodeJS установлен на Ubuntu 11.10 работает на виртуальном ящике на Windows хосте. Мои файлы проекта находятся на разделе NTFS (я должен поделиться ими с windows). Когда я пытаюсь установить какой-то модуль npm, я получаю ошибку, и модуль не…
- Я установил nodejs , но npm, похоже, не работает( в embedded linux)
Я установил Node.js. sudo apt-get установить python-software-properties sudo add-apt-repository ppa:chris-lea/node.js sudo apt-get обновление sudo apt-get установка nodejs (15.4MB) Я могу найти Node.js npm . root@linaro-server:/usr/bin# ll | grep node lrwxrwxrwx 1 root root 22 Jan 24 10:31 node…
22
Я действительно рекомендую вам установить node и npm с помощью nvm . Это самый быстрый, чистый и простой способ сделать это.
Таким образом, вы устанавливаете NVM, просто выполняя:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.3/install.sh | bash
Чтобы проверить правильность установки nvm, закройте и снова откройте Terminal и введите nvm. Если вы получите сообщение nvm: команда не найдена, ваш OS может не иметь необходимого файла .bash_profile. В Terminal введите touch ~/.bash_profile и снова запустите приведенный выше сценарий установки.
И теперь вы можете установить node typing:
nvm install <version>
Например
nvm install 4.2.1
если вы просто хотите установить последнюю версию узла, вы можете просто ввести
nvm install node
Чтобы получить доступ к узлу и npm как sudo (чтобы иметь <1024 порта), вы должны запустить
n=$(which node)
n=${n%/bin/node}
chmod -R 755 $n/bin/*
sudo cp -r $n/{bin,lib,share} /usr/local
Поделиться
Luis González
11 октября 2016 в 16:13
3
Я написал в terminal следующие командные строки
Я надеюсь, что это будет полезно для сообщества.
$ sudo apt install nodejs
$ curl -L https://npmjs.org/install.sh | sudo sh
удачи!
Поделиться
jorge adrian rodriguez
16 апреля 2020 в 13:41
1
Ниже приведены простые шаги для продолжения установки
- Открыть Terminal
- Выполните команду для установки nodejs :
sudo apt установка nodejs - Выполните команду, чтобы проверить установку версии:
node-v или node-version - Выполните команду для установки npm:
sudo apt установить npm - Выполните команду для проверки установки npm:
npm-v или npm –версия
Для справки:
https://youtu.be/DGjfw4y0nTI
Поделиться
Shaurya Mehta
21 июня 2020 в 18:27
Похожие вопросы:
Npm установка просто вращается на Ubuntu
Я не могу успешно установить что-либо с npm теперь, кажется, на моем Ubuntu 15.04. npm install -g gulp / Просто крутится вечно, и ничего не происходит, пробовал с sudo и без.. nodejs -v v0.12.4 и…
установка nodejs npm и grunt дает ошибки
Я не знаком с Python, NodeJS, NPM или Grunt, но мне нужно было установить его, потому что я хочу попробовать проект Github . Я скачал NodeJS с node.org, установил и протестировал его, как описано на…
Установка / обновление npm & NodeJS
У меня есть старая версия NPM и NodeJS, установленная на моем сервере AWS. Мне действительно просто нужно, чтобы Бауэр работал над установкой модуля. npm версия — 1.1.0-2. Версия узла-0.6.8. sudo…
Nodejs + npm, установка модулей на раздел ntfs
У меня есть проблема при установке модулей npm. NodeJS установлен на Ubuntu 11.10 работает на виртуальном ящике на Windows хосте. Мои файлы проекта находятся на разделе NTFS (я должен поделиться ими…
Я установил nodejs , но npm, похоже, не работает( в embedded linux)
Я установил Node.js. sudo apt-get установить python-software-properties sudo add-apt-repository ppa:chris-lea/node.js sudo apt-get обновление sudo apt-get установка nodejs (15.4MB) Я могу найти…
Установка nodejs и npm на сервер WDMyCloud
Я хотел бы установить nodejs и npm на свой сервер WDMyCloud , но у меня возникли проблемы с этим. Сам сервер работает под управлением Debian GNU / Linux 7 (wheezy). Я могу запустить sudo apt-get…
Установка nodejs и npm на MSYS2
Мой OS-это win7, и я использую MSYS2(version:MSYS_NT-6.1), пожалуйста, дайте совет, как установить nodejs и npm на этот terminal, спасибо!
Установка Nodejs и npm на Windows
Я знаю, что этот вопрос, возможно, выглядит как глупый вопрос, но я новичок в использовании nodejs. После того как я установил nodejs, я написал эту команду, чтобы проверить его ->узел -v выход был…
Установка Nodejs и npm на Ubuntu
Я провожу курс, который попросил меня установить Nodejs и npm, используя следующие команды.4.2.1″ // installs installs
«not-yet-installed-versioned-module»: «2.7.8» // installs installs
}
}
Резюме : единственная большая разница в том, что уже установленный модуль с нечетким управлением версиями …
- игнорируется
npm install
- обновляется
npm update
Дополнительно : install
и update
по умолчанию обрабатывают devDependencies по-другому
npm install
будет устанавливать / обновлять devDependencies , если--production
не будет добавлен флагnpm update
будет игнорировать devDependencies, если--dev
флаг не добавлен
Зачем npm install
вообще использовать ?
Потому что npm install
делает больше, когда вы смотрите, кроме обработки ваших зависимостей в package.json
. Как вы можете видеть в npm install, вы можете …
- установить узлы-модули вручную
- установить их как глобальные (что помещает их в оболочку
PATH
), используяnpm install -g <name>
- установить определенные версии, описанные тегами git
- установить с Git URL
- принудительно переустановить с
--force
Установка Node.js и Npm на Astra Linux Orel 2.21 — АлтунинВВ.Блог
В последнее время Node.js и Npm широко используются как для создания web-приложений, так и в разнообразных фреймворках для разработки сайтов, яркий пример тому два проекта:
Сегодня мы рассмотрим установку Node.js последней версии на Astra Linux.
Установка Node.js из Deb-пакета
Версия 8.11.1 на момент написания статьи доступная в репозитории Astra Linux довольно сильно устарела.
Перейдем на
https://nodejs.org/en/
И посмотрим, что нам предлагается. На момент написания статьи текущая LTS версия 14.17.3 и основная версия 16.5.0
Мы установим основную версию — 16.5.0
Перед этим обязательно установим debian-keyring
sudo apt install debian-keyring
Запустим
curl -sL https://deb.nodesource.com/setup_16.x | sudo bash -
Таким образом мы добавим в наш apt репозитории для Node.js
Если же мы попробуем установить Node.js то нас ждет неприятный сюрприз:
sudo apt install nodejs
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
astra-nochmodx-module-4.15.3-1-generic astra-nochmodx-module-4.15.3-1-hardened
Для их удаления используйте «sudo apt autoremove».
НОВЫЕ пакеты, которые будут установлены:
nodejs
обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 4 806 kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 18,6 MB.
Пол:1 https://download.astralinux.ru/astra/stable/orel/repository orel/main amd64 nodejs amd64 8.11.1~dfsg-2~bpo9+1+b1 [4 806 kB]
Несмотря на внесенные изменения, apt ставит пакет из репозиториев Astra Linux!
Это не является проблемой, мы можем принудительно указать откуда apt должен ставить этот пакет:
Запустим:
apt-cache showpkg nodejs
Package: nodejs
Versions:
16.4.1-1nodesource1 (/var/lib/apt/lists/deb.nodesource.com_node%5f16.x_dists_stretch_main_binary-amd64_Packages)
Description Language:
File: /var/lib/apt/lists/deb.nodesource.com_node%5f16.x_dists_stretch_main_binary-amd64_Packages
MD5: 964493985d4a02c9abd7e062f9234325
8.11.1~dfsg-2~bpo9+1+b1 (/var/lib/apt/lists/download.astralinux.ru_astra_stable_orel_repository_dists_orel_main_binary-amd64_Packages)
Description Language:
File: /var/lib/apt/lists/download.astralinux.ru_astra_stable_orel_repository_dists_orel_main_binary-amd64_Packages
MD5: e507fb472d7cdaceffc5b285a62d5c1b
Нас интересует строка:
16.4.1-1nodesource1
Запустим:
sudo apt install nodejs=16.4.1-1nodesource1
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
astra-nochmodx-module-4.15.3-1-generic astra-nochmodx-module-4.15.3-1-hardened libc-ares2 libhttp-parser2.8 libuv1 nodejs-doc
Для их удаления используйте «sudo apt autoremove».
Будут установлены следующие дополнительные пакеты:
libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python python-minimal python2.7 python2.7-minimal
Предлагаемые пакеты:
python-doc python-tk python2.7-doc binfmt-support
НОВЫЕ пакеты, которые будут установлены:
libpython-stdlib libpython2.7-minimal libpython2.7-stdlib nodejs python python-minimal python2.7 python2.7-minimal
обновлено 0, установлено 8 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 30,3 MБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 136 MB.
Хотите продолжить? [Д/н] y
Пол:1 https://deb.nodesource.com/node_16.x stretch/main amd64 nodejs amd64 16.4.1-1nodesource1 [26,2 MB]
Пол:2 https://download.astralinux.ru/astra/stable/orel/repository orel/main amd64 libpython2.7-minimal amd64 2.7.13-2+deb9u3 [389 kB]
Пол:3 https://download.astralinux.ru/astra/stable/orel/repository orel/main amd64 python2.7-minimal amd64 2.7.13-2+deb9u3 [1 384 kB]
Пол:4 https://download.astralinux.ru/astra/stable/orel/repository orel/main amd64 python-minimal amd64 2.7.13-2 [40,5 kB]
Пол:5 https://download.astralinux.ru/astra/stable/orel/repository orel/main amd64 libpython2.7-stdlib amd64 2.7.13-2+deb9u3 [1 898 kB]
Пол:6 https://download.astralinux.ru/astra/stable/orel/repository orel/main amd64 python2.7 amd64 2.7.13-2+deb9u3 [285 kB]
Пол:7 https://download.astralinux.ru/astra/stable/orel/repository orel/main amd64 libpython-stdlib amd64 2.7.13-2 [20,0 kB]
Пол:8 https://download.astralinux.ru/astra/stable/orel/repository orel/main amd64 python amd64 2.7.13-2 [154 kB]
Как видите, apt скачал Node.js из репозитория nodesource.com, а остальные пакеты с репозиториев Astra Linux.
Проверим:
node -v
v16.4.1
npm -v
7.18.1
Обновление npm
Запустим:
sudo npm install npm -g
changed 17 packages, and audited 257 packages in 8s
11 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
npm notice
npm notice New minor version of npm available! 7.18.1 -> 7.20.0
npm notice Changelog: https://github.com/npm/cli/releases/tag/v7.20.0
npm notice Run npm install -g npm @ 7.20.0 to update!
npm notice
Запустим:
sudo npm install -g Этот адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.
Проверим версию:
npm -v
7.20.0
Установка инструментария разработчика
Для дальнейшей установки фреймворков и библиотек вам потребуются инструменты разработчика установим их:
sudo apt install build-essential
Заключение
Сегодня мы рассмотрели установку Node.js и npm на Astra Linux.
Мы добавили репозиторий nodesource.com
Установили Node.js и обновили npm
Установили инструментарий разработчика
NPM: установка определенной версии пакета
NPM или Node Package Manager — это мощный инструмент, который позволяет вам легко управлять зависимостями, запускать сценарии и организовывать метаданные проекта. Однако его основная цель — помочь вам загрузить и установить пакеты Node из своего репозитория в ваш проект.
Загрузка и установка пакета выполняется с помощью команды NPM install
:
$ npm install express
+ [email protected]
added 50 packages from 37 contributors and audited 126 packages in 3.262s
found 0 vulnerabilities
Когда вы выполняете команду install
, подобную этой, по умолчанию она получает последнюю версию указанного пакета, которая в данном случае v4.17.1 (на момент написания этой статьи).
Но что, если нам нужна другая версия? Возможно, эта последняя версия нарушает нужную нам функцию, или, может быть, в ней есть уязвимость безопасности, которую разработчик еще не удосужился исправить. В таких случаях вы, вероятно, захотите установить конкретную версию пакета, который, как вы знаете, работает или который, как вы знаете, «безопасен».
Для этого мы можем указать версию, используя синтаксис npm install [package]@[version]
. Продолжая наш пример выше, мы выполнили бы что-то вроде этого:
$ npm install [email protected]
+ [email protected]
added 48 packages from 36 contributors and audited 121 packages in 2.986s
found 0 vulnerabilities
Как видите, NPM установил указанный нами пакет.
С NPM у нас также есть другие варианты для указания версии пакета.) или тильду (~
), мы можем указать последнюю минорную версию или версию патча соответственно. Таким образом, вы можете указать совместимую версию пакета, но все равно получите самую последнюю версию.
Так, например, если вы хотите использовать Express версию 4.16, но версия патча не важна, вы можете использовать тильду, чтобы сообщить NPM и получить последнюю версию патча:
$ npm install express@~4.16.1
+ [email protected]
added 48 packages from 36 contributors and audited 121 packages in 3.02s
found 0 vulnerabilities
Так как мы добавили префикс к версии ~
, NPM получил последнюю версию патча под второстепенной версией 4.16, которая оказалась 4.16.4.
Это хорошо, когда вам не нужна конкретная версия, но вы хотите постоянно обновлять свои зависимости с помощью последних исправлений и исправлений уязвимостей.
Команды для работы с NPM
Современная разработка очень тесно связана с использованием Node JS. В свою очередь Node JS используется как оболочка для работы с NPM и его пакетами (всем известная папка node_modules).
В данной статье я постараюсь перечислить все самые популярные команды для NPM: установка, обновление, удаление пакетов и др.
Инструкции по NPM
И всё таки думаю что стоит для начала упомянуть пару важных консольных команд для Node JS.
Как посмотреть список всех команд Node.js
Чтобы посмотреть список всех команд доступных в Node.js, для этого нужно ввести в консоли команду:
node -h
Как узнать версию установленного Node.js
— для этого есть команда node --version
или короткий вариант команды этой же команды node -v
. Так как краткость — сестра таланта, я пользуюсь командой:
node -v
Команды для NPM и работы с пакетами, модулями
Если расписывать команды NPM-а, то так же начнём с того как в консоли вывести все доступные команды нпма.
Cписок всех доступных команд пакетного менеджера (npm) выведится если в консоли ввести команду npm help
или сокращённый вариант npm -h
:
npm -h
Команда npm -h
вывалит в консоли такой список доступных команд:
access, adduser, audit, bin, bugs, c, cache, ci, cit, completion, config, create, ddp, dedupe, deprecate, dist-tag, docs, doctor, edit, explore, get, help, help-search, hook, i, init, install, install-test, it, link, list, ln, login, logout, ls, outdated, owner, pack, ping, prefix, profile, prune, publish, rb, rebuild, repo, restart, root, run, run-script, s, se, search, set, shrinkwrap, star, stars, start, stop, t, team, test, token, tst, un, uninstall, unpublish, unstar, up, update, v, version, view, whoami
Чтобы посмотреть инструкции для какой то из этих команд, для этого нужно ввести в консоли команду npm help COMANDA
, где COMANDA — это название команды из списка.
Например посмотреть инструкции для обновления:
npm help update
В установленном по умолчанию браузере откроется страница с инструкциями по данной команде. Инструкции находятся локально и не требуют подключения к интернету.
Как узнать версию NPM
Чтобы узнать установленную версию npm, нужно ввести в терминале команду npm --version
или сокращённый вариан данной команды npm -v
:
npm -v
Как обновить NPM
В отличии от Node.js, NPM знает как обновить себя! Чтобы обновить свой NPM до последней версии, вводим в терминале такую команду:
npm install npm@latest -g
или
npm update npm -g
Инициализация пакетов NPM
Инициализация пакетов — это процесс быстрой установки пакетов NPM-а, которые прописаны в файле package.json
Команда npm init
создаст файл package.json
или установит прописанные пакеты из файла package.json
если он уже создан.
npm init
Работа с NPM-пакетами
Установить пакеты из файла package.json
:
npm install
npm скачает и установит все пакеты указанные в файле package.json
Посмотреть список установленных пакетов:
npm list --depth=0
Посмотреть список установленных пакетов, которые требуют обновления:
npm outdated --depth=0
Список глобально установленных пакетов требующих обновления:
npm outdated --depth=0 -g
Команда npm install package
— позволяет установить любой пакет по его имени. Если при этом к команде добавить префикс -g пакет будет установлен глобально на весь компьютер.
npm install PACKAGE
или
npm install PACKAGE --save-dev
Глобальная установка пакета:
npm install PACKAGE -g
Удалить пакет:
npm r PACKAGE
Удалить глобально установленный пакет:
npm rm PACKAGE -g
Обновить пакеты:
npm up
И в заключение, если вы пользуетесь конролем версий Git, то незабудьте добавить в файл .gitignore исключение для папки node_modules, чтобы гит не индексировал файлы из этой папки. Для этого создайте файл .gitignore если он у вас ещё не создан и пропишите в нём отдельной строкой:
node_modules/
Обновление пакетов NPM при изменении мажорной версии
Если у пакета NPM сменилась версия на мажорную, то есть была изменена первая цифра в версии пакета (например установлена версия пакета 4.19.1, а последняя версия 5.3.0), то она не обновится командой npm up
. Это сделано в целях безопасности.
Для обновления мажорной версии есть такая команда:
npm i -g npm-check-updates && ncu -a && npm i
— в итоге будут обновлены все пакеты.
!!! Делайте такое обновление только в случае если вы уверены и понимаете что делаете. Мажорная версия несёт изменения для которых есть изменения в настройках.
Посмотрите это видео, где есть понятное объяснение по версиям пакетов NPM:
Установка Nodejs на Ubuntu сервер MODX
Вступление
Node.js — это Javascript платформа для серверного программирования, которая позволяет пользователям быстро создавать сетевые приложения. В этой статье я объясню как устанавливать Nodejs на Ubuntu сервер.
Как установить стабильный дистрибутив
Ubuntu 14.04 содержит версию Node.js в своих репозиториях и позволяет использовать одни и те же версии во всех серверах. В репозитории находится версия 0.10.25. Это далеко не самая новая версия, но довольно стабильная.
Запустим команду для установки:
sudo apt-get update
sudo apt-get install nodejs
Если это всё, что вам нужно, то в принципе этой установки Node.js достаточно. В остальных случаях вам также нужно установить npm
, менеджер пакетов Node.js. Сделайте это с помощью:
sudo apt-get install npm
Теперь вы сможете легко устанавливать модули и пакеты для использования вместе с Node.js.
Ниже обсудим некоторые другие более гибкие методы установки.
Установка с помощью PPA
Альтернативно вы можете получить последнюю версию Node.js через PPA (personal package archive) поддерживаемый NodeSource. Так вы сможете получить самые новые версии Node.js в отличии от репозиториев Ubuntu.
Во-первых, установите PPA, чтобы получить его содержимое:
curl -sL https://deb.nodesource.com/setup | sudo bash -
PPA будет добавлен к вашей конфигурации и локальный кеш пакетов автоматически обновится. После запуска установочного скрипта из nodesource, вы можете установить пакет Node.js таким же образом, как вы это делали ранее:
sudo apt-get install nodejs
Пакет nodejs
содержит бинарники nodejs
, а также npm
, поэтому вам не нужно устнанавливать отдельно npm
. Однако иногда нужно доустановить пакет build-essentials
:
sudo apt-get install build-essential
Использование NVM для установки
Альтарнативой установки Node.js через apt
является использование специального инструмента под названием nvm
, что расшифровывается как «Node.js version manager» (менеджер версий Node.js).
Используя nvm, вы можете устанавливать различные версии Node.js, что позволит легче контролировать ваше окружение. По необходимости вы сможете получать доступ к последним версиям Node.js, но также сможете переходить на предыдущие, если это необходимо вашим приложениям.
Для начала необходимо получить программные пакеты с Ubuntu репозиториев для создания исходных пакетов. Скрипт nvm использует эти инструменты для построения необходимых компонентов:
sudo apt-get update
sudo apt-get install build-essential libssl-dev
Когда необходимые пакеты установлены, вы можете получить nvm инсталляционный скрипт из GitHub проекта. Номер версии может отличатся, но вообще вы можете загрузить и установить его с помощью скрипта:
curl https://raw.githubusercontent.com/creationix/nvm/v0.16.1/install.sh | sh
Ваш скрипт загрузится и запустится и установит версию 0.16.1. Меняя цифры вы можете установить другую, более новую версию. Установка произойдёт в директорию ~/.nvm
. Необходимые строки также добавятся в ваш профиль ~/.profile
.
Для получения функциональности nvm вам нужно выйти и залогинится снова (либо просто перезапустить терминал в случае работы с локальной машиной). Или можете использовать ваш ~/.profile
файл, чтобы текущая сессия знала про изменения. Запустите для этого команду:
source ~/.profile
После установки nvm можно установить разные версии Node.js.
Чтобы узнать какие версии доступны для установки, наберите команду:
nvm ls-remote
. . .
v0.12.7
v4.0.0
v4.1.0
v4.1.1
v4.1.2
v4.2.0
v4.2.1
Как видите, новая версия на момент As you can see, the newest version at the time of this writing is v4.2.1. Можете установить её набрав:
nvm install 4.2.1
Обычно, nvm переключается для использования последней недавноустановленной версии. Для страховки можете задать версию командой для nvm:
nvm use 4.2.1
После установки Node.js с помощью nvm, испольнительной командой будет node
. Можете проверить текущую версию набрав команду в терминале:
node -v
v4.2.1
Если у вас есть много Node.js версий, то можете узнать какие установленны командой:
nvm ls
Если хотите установить по-умолчанию одну из версий, то наберите:
nvm alias default 4.2.1
Эта версия будет автоматически выбиратся при новых сессиях. Вы можете также ссылаться на эту версию через команду:
nvm use default
Каждая версия Node.js отслеживает собственные пакеты и содержит npm
для их управления.
Вы можете устанавливать через npm
пакеты в папку Node.js проектов ./node_modules
используя обычные команды, типа:
npm install bower
Если вы хотите установить глобально (будет доступно для всех проектов, использующих ту же версию Node.js), то вы можете добавить флаг -g
:
npm install -g meteorjs
Эта команда установит пакет в:
~/.nvm/node_version/lib/node_modules/package_name
Глобальная установка позволит вам выполнять команды из командной строки, но вам нужно будет использовать ссылку на пакет в вашей локальной установке для обращения к ней из программы:
npm link express
Узнать другие опции менеджера nvm можно набрав:
nvm help
Выводы
Как видите, есть много способов установки и запуска Node.js на вашем Ubuntu 14.04 сервере. В зависимости от обстоятельств вам нужно использовать тот или иной метод. Хотя в репозитории Убунту уже есть пакеты, я вам рекомендую ставить с помощью nvm
метода, так как он более гибкий.
Установка Node.js® и NPM на Mac
Что такое Node.js® и NPM?
Node.js® — это среда на основе JavaScript, которую вы можете использовать для создания веб-серверов и сетевых приложений. Вы также можете использовать его для выполнения полезных задач на вашем компьютере, таких как объединение и минимизация файлов JavaScript и компиляция файлов Sass в CSS.
NPM — это «менеджер пакетов», который упрощает и ускоряет установку «пакетов» узла. Пакет, также называемый модулем, — это просто библиотека кода, которая расширяет Node, добавляя полезные функции.Например, модуль «запрос» упрощает процесс выполнения HTTP-запросов, поэтому вы можете легко получать веб-ресурсы с других сайтов.
NPM устанавливается при установке Node.js®
Несмотря на то, что на веб-сайте Node есть программа установки для Mac, мы рекомендуем использовать Homebrew для установки и обновления Node.
Предварительные требования
- Вы должны иметь некоторое представление о приложении Mac Terminal , так как вам нужно будет использовать его для установки и тестирования Node и NPM.Вам также понадобится Терминал для использования Node.js и NPM. Приложение «Терминал» находится в папке «Служебные программы» в папке «Приложения».
- Зависимости. Хотя вы можете установить Node другими способами, мы рекомендуем использовать Homebrew. Homebrew позволяет избежать возможных проблем с безопасностью, связанных с использованием команды
sudo
для установки программного обеспечения, такого как модули Node и Node.
Обзор установки
Установить Node.js® и NPM с помощью Homebrew довольно просто.Homebrew выполняет загрузку, распаковку и установку Node и NPM в вашей системе. Весь процесс (после того, как вы установили Homebrew) займет у вас всего несколько минут.
Шаги установки
- Откройте приложение «Терминал» и введите
brew update
. Это обновляет Homebrew списком последней версии Node. - ** Узел установки варки
типа
. - Устройтесь поудобнее и подождите. Homebrew должен загрузить несколько файлов и установить их.Но это все.
Протестируйте!
Убедитесь, что у вас установлены Node и NPM, выполнив простые команды, чтобы узнать, какая версия каждого из них установлена:
- Тестовый узел. Чтобы узнать, установлен ли узел, введите
node -v
в Терминале. Должен быть напечатан номер версии, поэтому вы увидите что-то вроде этого:v0.10.31
. - Тест NPM. Чтобы узнать, установлен ли NPM, введите
npm -v
в Терминале. Он должен напечатать номер версии, чтобы вы увидели что-то вроде этого1.4,27
Как обновить узел и NPM
Часто выходят новые версии Node и NPM. Вы можете использовать Homebrew для обновления устанавливаемого им программного обеспечения.
- Убедитесь, что Homebrew имеет последнюю версию пакета Node. В типе терминала
обновление пивоварни
- Узел обновления:
Узел обновления варки
Как удалить узел и NPM
Вы можете использовать Homebrew для удаления установленных пакетов:
узел удаления варки
Узнайте, как установить Npm и Node.js на Ubuntu
Node.js — это кроссплатформенная среда выполнения JavaScript с открытым исходным кодом. С включенным Node.js вы можете запускать JavaScript на своем компьютере с Ubuntu, не беспокоясь об открытии каких-либо браузеров. Он построен на движке JavaScript V8 Chrome и может быть установлен в Linux разными способами.
Node.js необходим для создания серверных и сетевых приложений. Эта платформа эффективно работает в Windows, Linux, FreeBSD и macOS.Npm — это менеджер пакетов по умолчанию, который часто отмечается как крупнейший в мире реестр программного обеспечения.
Установите Nodejs на Ubuntu
В этом руководстве вы можете установить Nodejs на Ubuntu тремя разными способами. Эти три способа включают:
- Использование apt для установки Nodejs в Ubuntu
- Использование apt с репозиторием программного обеспечения PPA
- Установка nvm для установки и управления различными версиями Nodejs в Ubuntu
Вариант 1. Установите Node.js из репозитория NodeSource
NodeSource, как компания, фокусируется на предоставлении поддержки Node корпоративного уровня. Эта установка использует репозиторий Node.js, который будет использоваться для установки этой версии в Ubuntu. Вы можете выполнить следующие действия, чтобы установить Node Linux из NodeSource.
Первый шаг — включить репозиторий NodeSource с помощью команды curl . Если curl не установлен, вы можете установить его в своей системе, используя следующие команды.
Чтобы установить Curl
sudo apt-get install curl -y
Включение репозитория
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
Приведенная выше команда добавит ключ подписи в вашу систему. Чтобы создать файл репозитория с исходным кодом apt, вам необходимо установить все необходимые пакеты и обновить кеш apt.
Установите Node.js и Npm
Введите следующий код, чтобы начать установку для Node.js и npm.
sudo apt установить nodejs
Этот пакет (nodejs ubuntu) будет содержать двоичные файлы для Node и npm.
Проверить установку Node.js и Npm
node --version
Проверить версию Npm
npm --version
После установки оба модуля будут выглядеть так:
Версия для Nodejs Ubuntu — v12.22.4 , а версия npm — 6.14.14 , которая является последней версией, доступной на момент написания этого руководства.
Есть другие способы установить Nodejs Ubuntu и npm. Чтобы установить их с помощью диспетчера версий узла, выполните следующие действия.
Вариант 2: установка Node.js и Npm с NVM
NVM, более известный как Node Version Manager, представляет собой сценарий bash, который работает в независимом каталоге, а не на уровне операционной системы.Это просто означает, что вы можете установить несколько версий Node.js, не затрагивая всю систему.
С помощью NVM вы можете контролировать среду своей системы и даже использовать новейшие версии Node.js, сохраняя и управляя предыдущими версиями. Это отличается от утилиты apt , и есть небольшая разница в версиях по сравнению с версиями apt.
Установить Nvm Ubuntu
Чтобы загрузить NVM с помощью командной строки, загрузите и установите исходный код со страницы GitHub:
curl -o- https: // raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | Баш
Эта команда клонирует репозиторий из GitHub в каталог ~ / .nvm . Чтобы использовать это, вам сначала нужно создать исходный файл .bashrc , используя следующую команду:
источник ~ / .bashrc
На следующем шаге вы можете проверить, какая версия Node доступна в NVM.
nvm удаленный список
Результат будет выглядеть так:
Эта команда выведет список множества доступных версий, поэтому вы можете выбрать последнюю версию.В этом случае последняя доступная версия — 16.6.2 , которую можно установить с помощью команды:
nvm установить v16.6.2
Название версии можно изменить в соответствии с самой последней версией, доступной в NVM.
После установки просмотрите различные версии, которые были установлены как часть предыдущей установки:
список NVM
Результат будет выглядеть так:
Первая строка покажет текущую активную версию, а некоторые другие строки покажут названные псевдонимы и их версии.Вы можете увидеть псевдонимы для различных LTS-версий Node. На основе этих псевдонимов вы также можете установить выпуск.
Например, чтобы установить один такой псевдоним fermium, вы можете использовать следующую команду:
nvm install lts / fermium
Проверьте, была ли установка успешной, с помощью команды -v.
узел -v
На выходе будет показана последняя установленная версия.
Вариант 3: установка Node.js с использованием NodeSource PPA
Другой способ установить Node.js — это установка с помощью PPA (личного архива пакетов), который поддерживается и обновляется NodeSource. Преимущество использования PPA заключается в том, что он содержит больше версий Node.js по сравнению с репозиториями Ubuntu.
В качестве первого шага вам необходимо установить PPA, чтобы получить доступ к его пакетам. Из домашнего каталога вы можете использовать функцию curl для получения сценария установки для вашей версии.
cd ~
curl -sL https://deb.nodesource.com/setup_16.x -o nodesource_setup.sh
Вы можете запустить скрипт в своем любимом редакторе (например, Nano). Если вы думаете, что все в сценарии соответствует вашему вкусу, вы можете выполнить команды дальше.
наноузлыource_setup.sh
Выйдите из редактора и запустите скрипт с правами root.
sudo bash nodesource_setup.sh
PPA будет добавлен в ваш список конфигурации, а локальный кеш пакетов обновится автоматически. Установите пакет Node.js, введя следующую команду:
sudo apt установить nodejs
Вы можете проверить свою установку, запустив node с флагом -v version следующим образом:
узел -v
Вы можете быть уверены, что вам не нужно устанавливать npm Ubuntu отдельно, так как это комбинированная установка для node.js и npm.
Успешная установка Node.js и NPM
Независимо от того, какой метод вы выберете, всегда есть способ успешно установить Node.js и npm на вашем компьютере с Ubuntu. Этот метод будет работать для разных версий Ubuntu, хотя этот процесс был успешно реализован для Ubuntu 21.04. В зависимости от ваших обстоятельств вы можете выбрать тот вариант, который вам больше всего подходит.
Как упоминалось ранее, использование упакованной версии — самый простой из этих методов; вы можете использовать метод установки PPA или метод nvm для более свежих опций.В любом случае все три варианта будут работать для вашей версии Ubuntu Linux.
Хотите установить Node.js и npm в Windows? Вам повезло; процесс даже проще, чем их установка в Linux.
Как установить Node.js и npm в Windows
Создайте серверную часть своих возможностей Full-Stack с помощью Node.js и npm.
Читать далее
Об авторе
Вини Бхалла
(Опубликовано 53 статей)
Вини — писатель из Дели с 2-летним стажем письма.Во время писательской работы она была связана с агентствами цифрового маркетинга и техническими фирмами. Она написала контент, связанный с языками программирования, облачными технологиями, AWS, машинным обучением и многим другим. В свободное время она любит рисовать, проводить время с семьей и путешествовать в горы, когда это возможно.
Более
От Вини Бхалла
Подпишитесь на нашу рассылку новостей
Подпишитесь на нашу рассылку технических советов, обзоров, бесплатных электронных книг и эксклюзивных предложений!
Нажмите здесь, чтобы подписаться
Как установить npm, основные команды npm и использовать пакеты
Это пошаговое руководство покажет вам, как установить npm и освоить общие команды в интерфейсе командной строки Node Package Manager (npm).
Node.js позволяет писать приложения на JavaScript на сервере. Он построен на среде выполнения JavaScript V8 и написан на C ++, поэтому работает быстро. Первоначально он был задуман как серверная среда для приложений, но разработчики начали использовать его для создания инструментов, помогающих им в автоматизации локальных задач. С тех пор возникла целая новая экосистема инструментов на основе Node (таких как Grunt, Gulp и webpack), чтобы изменить внешний вид фронтенд-разработки.
Чтобы использовать эти инструменты (или пакеты) в Node.js, нам нужно иметь возможность устанавливать их и управлять ими удобным способом. Здесь на помощь приходит npm, менеджер пакетов Node. Он устанавливает пакеты, которые вы хотите использовать, и предоставляет удобный интерфейс для работы с ними.
В этом руководстве мы рассмотрим основы работы с npm. Мы покажем вам, как устанавливать пакеты в локальном и глобальном режиме, а также удалять, обновлять и устанавливать определенную версию пакета. Мы также покажем вам, как работать с package.json
для управления зависимостями проекта.Если вы больше любите видео, почему бы не подписаться на SitePoint Premium и посмотреть наш бесплатный скринкаст: Что такое npm и как его использовать?
Но прежде чем мы сможем начать использовать npm, мы сначала должны установить Node.js в нашей системе. Давай сделаем это сейчас.
Установите npm с Node.js
Перейдите на страницу загрузки Node.js и скачайте нужную вам версию. Доступны установщики для Windows и Mac, а также предварительно скомпилированные двоичные файлы Linux и исходный код. Для Linux вы также можете установить Node через диспетчер пакетов, как описано здесь.
В этом руководстве мы будем использовать версию 12.15.0. На момент написания это текущая версия Node.
Совет. Вы также можете рассмотреть возможность установки Node с помощью диспетчера версий. Это устраняет проблему с разрешениями, поднятую в следующем разделе.
Посмотрим, где был установлен узел, и проверим версию:
$ какой узел
/ usr / bin / узел
$ node --version
Версия 12.15.0
Чтобы убедиться, что установка прошла успешно, давайте попробуем REPL узла:
$ узел
> консоль.D, чтобы выйти из ответа
Установка Node.js сработала, поэтому теперь мы можем сосредоточить наше внимание на npm, который был включен в установку:
$ который npm
/ usr / bin / npm
$ npm --version
6.13.7
Установить обновления npm
npm, который изначально означал Node Package Manager, является отдельным проектом от Node.js. Он имеет тенденцию обновляться чаще. Вы можете проверить последнюю доступную версию npm на этой странице. Если вы обнаружите, что у вас более старая версия, вы можете обновить ее следующим образом.
Для пользователей Linux и Mac используйте следующую команду:
npm install -g npm @ latest
Для пользователей Windows процесс может быть немного сложнее. Вот что написано на домашней странице проекта:
В npm 3 было внесено много улучшений для пользователей Windows — у вас будет больше возможностей, если вы запустите последнюю версию npm. Для обновления воспользуйтесь инструментом обновления Microsoft, загрузите новую версию Node или следуйте инструкциям по обновлению Windows в публикации «Установка / обновление npm».
Для большинства пользователей лучше всего подойдет средство обновления. Чтобы использовать его, вам нужно открыть PowerShell от имени администратора и выполнить следующую команду:
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
Это гарантирует, что вы сможете выполнять сценарии в вашей системе. Затем вам нужно установить инструмент npm-windows-upgrade. После того, как вы установили инструмент, вам нужно запустить его, чтобы он мог обновить npm за вас. Сделайте все это в консоли PowerShell с повышенными привилегиями:
npm install --global --production npm-windows-upgrade
npm-windows-upgrade --npm-версия последняя
Узловые упакованные модули
npm может устанавливать пакеты в локальном или глобальном режиме.В локальном режиме он устанавливает пакет в папку node_modules
в вашем родительском рабочем каталоге. Это местоположение принадлежит текущему пользователю.
Если вы не используете диспетчер версий (что, вероятно, должно быть), глобальные пакеты устанавливаются в {prefix} / lib / node_modules /
, который принадлежит пользователю root (где {prefix}
обычно / usr /
или / usr / local
). Это означает, что вам придется использовать sudo
для глобальной установки пакетов, что может вызвать ошибки разрешений при разрешении сторонних зависимостей, а также будет проблемой безопасности.
Давайте изменим это!
Время управлять этими пакетами
Изменить расположение npm Global Packages
Давайте посмотрим, что дает нам вывод npm config
:
список конфигураций $ npm
; cli конфиги
metrics-registry = "https://registry.npmjs.org/"
scope = ""
user-agent = "npm / 6.13.7 node / v12.15.0 linux x64"
; расположение бункера узла = / usr / bin / nodejs
; cwd = / home / sitepoint
; HOME = / home / sitepoint
; "npm config ls -l", чтобы показать все значения по умолчанию.
Это дает нам информацию о нашей установке.На данный момент важно получить текущее глобальное местоположение:
.
$ npm config получить префикс
/ usr
Это префикс, который мы хотим изменить, чтобы установить глобальные пакеты в наш домашний каталог. Для этого создайте в домашней папке новый каталог:
.
$ cd ~ && mkdir .node_modules_global
$ npm config set prefix = $ HOME / .node_modules_global
Этим простым изменением конфигурации мы изменили место, в которое устанавливаются глобальные пакеты Node.Это также создает файл .npmrc
в нашем домашнем каталоге:
$ npm config получить префикс
/home/sitepoint/.node_modules_global
$ cat .npmrc
префикс = / home / sitepoint / .node_modules_global
У нас все еще установлен npm в месте, принадлежащем root. Но поскольку мы изменили глобальное расположение пакета, мы можем этим воспользоваться. Нам нужно снова установить npm, но на этот раз в новом месте, принадлежащем пользователю. Это также установит последнюю версию npm:
npm установить npm @ latest -g
Наконец, нам нужно добавить .node_modules_global / bin
в нашу переменную среды $ PATH
, чтобы мы могли запускать глобальные пакеты из командной строки. Сделайте это, добавив следующую строку в свой .profile
, .bash_profile
или .bashrc
и перезапустив терминал:
export PATH = "$ HOME / .node_modules_global / bin: $ PATH"
Теперь наш .node_modules_global / bin
будет найден первым и будет использоваться правильная версия npm:
$ который npm
/ главная / sitepoint /.node_modules_global / bin / npm
$ npm --version
6.13.7
Совет: всего этого можно избежать, если использовать диспетчер версий Node. Ознакомьтесь с этим руководством, чтобы узнать, как: Установка нескольких версий Node.js с помощью nvm.
Установить пакеты npm в глобальном режиме
На данный момент у нас установлен только один пакет глобально — это сам пакет npm. Итак, давайте изменим это и установим UglifyJS (инструмент минимизации JavaScript). Мы используем флаг --global
, но его можно сократить до -g
:
$ npm установить uglify-js --global
/ главная / sitepoint /.node_modules_global / bin / uglifyjs -> /home/sitepoint/.node_modules_global/lib/node_modules/uglify-js/bin/uglifyjs
+ [email protected]
добавил 3 пакета от 38 участников за 0.259 с.
Как видно из выходных данных, установлены дополнительные пакеты. Это зависимости UglifyJS.
Список установленных глобальных пакетов npm
Мы можем вывести список глобальных пакетов, которые мы установили, с помощью команды npm list
:
список $ npm - глобальный
главная / sitepoint /.node_modules_global / lib
├─┬ [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
....................
└─┬ [email protected]
├── [email protected]
└── [email protected]
Вывод, однако, довольно подробный. Мы можем изменить это с помощью опции --depth = 0
:
список $ npm -g --depth = 0
/home/sitepoint/.node_modules_global/lib
├── [email protected]
└── [email protected]
Так лучше; теперь мы видим только установленные нами пакеты с номерами их версий.
Все пакеты, установленные глобально, станут доступны из командной строки. Например, вот как вы могли бы использовать пакет Uglify для минимизации example.js
в example.min.js
:
.
$ uglifyjs example.js -o example.min.js
Установить пакеты npm в локальном режиме
Когда вы устанавливаете пакеты локально, вы обычно делаете это с помощью файла package.json
. Давайте создадим один:
$ mkdir project && cd project
$ npm init
имя пакета: (проект)
версия: (1.0,0)
описание: Демо package.json
точка входа: (index.js)
тестовая команда:
репозиторий git:
ключевые слова:
автор:
лицензия: (ISC)
Нажмите Верните , чтобы принять значения по умолчанию, затем нажмите его еще раз, чтобы подтвердить свой выбор. Это создаст файл package.json
в корне проекта:
{
"имя": "проект",
"версия": "1.0.0",
"описание": "",
"main": "index.js",
"scripts": {
"test": "echo \" Ошибка: тест не указан \ "&& exit 1"
},
"автор": "",
"лицензия": "ISC"
}
Совет. Если вам нужен более быстрый способ создания пакета .json
используйте npm init --y
.
Поля, надеюсь, говорят сами за себя, за исключением основных сценариев
и сценариев
. Основное поле
является основной точкой входа в вашу программу, а поле сценариев
позволяет указать команды сценария, которые запускаются в разное время в жизненном цикле вашего пакета. Мы можем оставить их как есть, но если вы хотите узнать больше, см. Документацию package.json на npm и эту статью об использовании npm в качестве инструмента сборки.
Теперь попробуем установить Underscore:
.
$ npm установить подчеркивание
npm notice создал файл блокировки как package-lock.json. Вы должны зафиксировать этот файл.
npm WARN [email protected] Нет поля репозитория.
+ [email protected]
добавил 1 пакет от 1 участника и проверил 1 пакет за 0.412 с.
найдено 0 уязвимостей
Обратите внимание, что файл блокировки создается. Мы вернемся к этому позже.
Теперь, если мы посмотрим на package.json
, мы увидим, что добавлено поле dependencies
:
{ .
) перед номером версии означает, что при установке npm будет загружать самую высокую версию пакета, которую он может найти, если только основная версия должна соответствовать (если не присутствует файлpackage-lock.json
). В нашем случае это будет что-нибудь ниже v2.0.0. Этот метод управления версиями зависимостей (major.minor.patch) известен как семантическое управление версиями . Вы можете узнать больше об этом здесь: Семантическое управление версиями: почему вы должны его использовать.Также обратите внимание, что подчеркивание было сохранено как свойство поля
dependencies
.Это стало значением по умолчанию в последней версии npm и используется для пакетов (например, Underscore), необходимых для запуска приложения. Также можно было бы сохранить пакет какdevDependency
, указав флаг--save-dev
.devDependencies
- это пакеты, используемые в целях разработки, например, для запуска тестов или транспиляции кода.Совет: вы также можете добавить
private: true
вpackage.json
, чтобы предотвратить случайную публикацию частных репозиториев, а также подавить любые предупреждения, генерируемые при запускеnpm install
.Несомненно, самая большая причина использования
package.json
для указания зависимостей проекта - это переносимость. Например, когда вы клонируете чужой код, все, что вам нужно сделать, это запуститьnpm i
в корне проекта, и npm разрешит и загрузит все необходимые пакеты для запуска приложения. Позже мы рассмотрим это подробнее.Прежде чем закончить этот раздел, давайте быстро проверим, работает ли Underscore. Создайте файл с именем
test.js
в корне проекта и добавьте следующее:const _ = require («подчеркивание»); console.log (_. диапазон (5));
Запустите файл с помощью узла
test.js
, и вы должны увидеть вывод[0, 1, 2, 3, 4]
на экран.Удаление локальных пакетов npm
npm - это менеджер пакетов, поэтому он должен иметь возможность удалять пакет. Предположим, что текущий пакет Underscore вызывает у нас проблемы совместимости. Мы можем удалить пакет и установить более старую версию, например:
$ npm удалить подчеркивание удалил 1 пакет в 0.386с список $ npm [email protected] / главная / sitepoint / проект └── (пусто)
Установить определенную версию пакета npm
Теперь мы можем установить пакет Underscore в нужной нам версии. Мы делаем это, используя знак @ для добавления номера версии:
.
$ npm установить [email protected] + [email protected] добавил 1 пакет за 1.574с список $ npm [email protected] / главная / sitepoint / проект └── [email protected]
Обновление пакета npm
Давайте проверим, есть ли обновление для пакета Underscore:
$ npm устарело Текущее требуемое последнее местоположение пакета подчеркивание 1.9.1 1.9.2 1.9.2 проект
Столбец Current показывает версию, которая установлена локально. Столбец Последний сообщает нам последнюю версию пакета. А столбец Wanted сообщает нам последнюю версию пакета, до которой мы можем обновить, не нарушая существующий код.
Помните файл
package-lock.json
ранее? Этот файл, введенный в npm v5, предназначен для обеспечения того, чтобы зависимости оставались точно такими же на всех машинах, на которых установлен проект.Он автоматически создается для любых операций, когда npm изменяет папкуnode_modules
или файлpackage.json
.Вы можете попробовать это, если хотите. Удалите папку
node_modules
, затем повторно запуститеnpm i
(это сокращение отnpm install
). npm переустановит Underscore v1.9.1, хотя мы только что видели, что v1.9.2 доступна. Это потому, что мы указали версию 1.9.1 в файлеpackage-lock.json
:{ "имя": "проект", "версия": "1.0,0 ", "lockfileVersion": 1, "требует": правда, "dependencies": { "подчеркивать": { "версия": "1.9.1", "решено": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", "целостность": "sha512-5 / 4etnCkd9c8gwgowi5 / om / mYO5ajCaOgdzj / oW + 0eQV9WxKBDZw5 + ycmKmeaTXjInS / W0BzpGLo2xR2aBwZdg ==" } } }
До появления файла
package-lock.json
несовместимые версии пакетов были большой головной болью для разработчиков. Обычно это решалось применением термоусадочной пленкинм / мин.json
, который нужно было создать вручную.Теперь предположим, что последняя версия Underscore исправила ошибку, которая была у нас ранее, и мы хотим обновить наш пакет до этой версии:
$ npm обновление подчеркивание + [email protected] обновил 1 пакет за 0.236с список $ npm [email protected] / главная / sitepoint / проект └── [email protected]
Совет: чтобы это работало, Underscore должен быть указан как зависимость в
package.json
. Мы также можем выполнить обновлениеnpm update
, если у нас есть много устаревших модулей, которые мы хотим обновить.Поиск пакетов npm
В этом руководстве мы несколько раз использовали команду
mkdir
. Есть ли пакет Node, в котором есть эта функция? Давайте воспользуемся поискомnpm
:$ npm поиск mkdir ИМЯ | ОПИСАНИЕ | АВТОР | ДАТА mkdir | Создание каталога… | = joehewitt | 2012-04-17 fs-extra | fs-extra содержит… | = jprichardson… | 2019-06-28 mkdirp | Рекурсивно mkdir,… | = isaacs… | 2020-01-24 make-dir | Сделать каталог… | = sindresorhus | 2019-04-01 ...
Есть (mkdirp). Установим:
$ npm установить mkdirp + [email protected] добавил 1 пакет и проверил 2 пакета за 0,384 секунды
Теперь создайте файл
mkdir.js
и скопируйте-вставьте этот код:const mkdirp = require ('mkdirp'); const made = mkdirp.sync ('/ tmp / foo / bar / baz'); console.log (`созданные каталоги, начиная с $ {made}`);
Далее запускаем с терминала:
$ узел mkdir.1.9.2 " },
Обратите внимание, что список зависимостей обновился автоматически. Если вы хотите установить пакет, не сохраняя его в
package.json
, просто используйте аргумент--no-save
.Предположим, вы клонировали исходный код проекта на другой компьютер, и мы хотим установить зависимости. Давайте сначала удалим папку
node_modules
, а затем выполнимnpm install
:.
$ rm -R node_modules Список $ npm --depth = 0 проект @ 1.0.0 / главная / sitepoint / проект ├── НЕЗАВИСИМОСТЬ [email protected] ├─┬ НЕОБХОДИМО ЗАВИСИМОСТЬ [email protected] ... └── НЕЗАВИСИМОСТЬ БЕСПЛАТНО [email protected] npm ERR! отсутствует: [email protected], требуется [email protected] npm ERR! отсутствует: [email protected], требуется [email protected] npm ERR! отсутствует: [email protected], требуется [email protected] ... $ npm install добавил 50 пакетов от 60 участников и проверил 65 пакетов за 1.051s найдено 0 уязвимостей
Если вы посмотрите на папку
node_modules
, вы увидите, что она снова создается заново.Таким образом, вы можете легко поделиться своим кодом с другими, не перегружая свой проект и исходные репозитории зависимостями.Управление кешем npm
Когда npm устанавливает пакет, он сохраняет его копию, поэтому в следующий раз, когда вы захотите установить этот пакет, ему не нужно будет подключаться к сети. Копии кэшируются в каталоге
.npm
на вашем домашнем пути:$ ls ~ / .npm anonymous-cli-metrics.json _cacache index-v5 _locks _logs node-sass
Этот каталог со временем будет загроможден старыми пакетами, поэтому полезно время от времени очищать его:
$ npm cache clean --force
Вы также можете очистить все папки
node_module
из вашей рабочей области, если у вас есть несколько проектов узлов в вашей системе, которые вы хотите очистить:найти.-name "node_modules" -type d -exec rm -rf '{}' +
Используйте аудит npm для сканирования зависимостей на предмет уязвимостей
Вы заметили все эти
обнаруженных 0 уязвимостей
, разбросанных по всему выходу интерфейса командной строки? Причина в том, что в npm появилась новая функция, которая позволяет разработчикам сканировать зависимости на предмет известных уязвимостей безопасности.Давайте попробуем эту функцию, установив старую версию
express
:$ npm install express @ 4.8.0 [email protected] добавил 36 пакетов от 24 участников и проверил 123 пакета за 2.224 секунды обнаружил 21 уязвимость (8 слабых, 9 средних, 4 высоких) запустите `npm audit fix`, чтобы исправить их, или` npm audit` для подробностей
Как только мы закончим установку, мы быстро получим отчет о том, что было обнаружено несколько уязвимостей. Вы можете запустить команду
npm audit
, чтобы просмотреть дополнительные сведения:$ npm аудит === Отчет аудита безопасности npm === ┌───────────────┬─────────────────────────────────── ─────────────────────────────── │ Высокая │ Отказ в обслуживании с регулярным выражением │ ├───────────────┼─────────────────────────────────── ────────────────────────────── │ Пакет │ переговорщик │ ├───────────────┼─────────────────────────────────── ────────────────────────────── │ Зависимость │ экспресс │ ├───────────────┼─────────────────────────────────── ─────────────────────────────── │ Путь │ экспресс> принимает> переговорщик │ ├───────────────┼─────────────────────────────────── ─────────────────────────────── │ Подробнее │ https: // nodesecurity.io / консультации / 106 │ └───────────────┴─────────────────────────────────── ────────────────────────────── ┌───────────────┬─────────────────────────────────── ─────────────────────────────── │ Умеренная │ Время атаки │ ├───────────────┼─────────────────────────────────── ─────────────────────────────── │ Пакет │ cookie-подпись │ ├───────────────┼─────────────────────────────────── ─────────────────────────────── │ Зависимость │ экспресс │ ├───────────────┼─────────────────────────────────── ─────────────────────────────── │ Путь │ экспресс> cookie-подпись │ ├───────────────┼─────────────────────────────────── ─────────────────────────────── │ Подробнее │ https: // nodesecurity.io / консультации / 134 │ └───────────────┴─────────────────────────────────── ──────────────────────────────
Вы получите подробный список пакетов, в которых есть уязвимости. Если вы посмотрите на поле
Path
, оно показывает путь зависимости. Например, Pathexpress> accept >gotiator
означает, что Express зависит от пакетаAccepts
. Пакетпринимает
зависит от пакетапереговорщика
, который содержит уязвимость.Есть два способа исправить все эти проблемы. Мы можем либо выполнить команду
npm install [email protected]
, как предлагается, либо запуститьnpm audit fix
. Давайте сделаем последнее:Исправление аудита $ npm + экспресс@4.17.1 добавил 20 пакетов от 14 участников, удалил 7 пакетов и обновил 29 пакетов за 1.382s исправлена 21 из 21 уязвимости в 122 проверенных пакетах
Команда
npm audit fix
автоматически устанавливает все совместимые обновления для уязвимых зависимостей.Хотя это может показаться волшебством, учтите, что уязвимости не всегда можно исправить автоматически. Это могло произойти, если вы используете пакет, который претерпел серьезные изменения, которые могут нарушить работу вашего текущего проекта при обновлении. В подобных ситуациях вам придется просмотреть свой код и вручную применить исправление.Вы также можете запустить
npm audit fix --force
, если вы не против обновления пакетов с критическими изменениями. После того, как вы выполнили команду, запуститеnpm audit
, чтобы убедиться, что все уязвимости устранены.npm Псевдонимы
Как вы могли заметить, есть несколько способов запуска команд npm. Вот краткий список наиболее часто используемых псевдонимов npm:
-
npm i
: установить локальный пакет -
npm i -g
: установить глобальный пакет -
npm un
: удалить локальный пакет -
npm up
: пакеты обновления npm -
npm t
: пусковые испытания -
npm ls
: список установленных модулей -
npm ll
илиnpm la
: распечатайте дополнительную информацию о пакете при перечислении модулей
Вы также можете установить несколько пакетов одновременно, например:
$ npm i express momemt lodash mongoose body-parser webpack
Если вы хотите просмотреть все распространенные команды npm, просто выполните npm help
для получения полного списка.Вы также можете узнать больше в нашей статье 10 советов и приемов, которые сделают вас ниндзя npm.
Выполнить пакеты с npx
Вы также можете слышать разговоры о npx во время своих путешествий. Не путайте это с npm. Как мы узнали, npm - это инструмент для управления вашими пакетами, тогда как npx - это инструмент для выполнения пакетов. Он поставляется в комплекте с npm версии 5.2+.
Типичное использование npx - для выполнения одноразовых команд. Например, представьте, что вы хотите запустить простой HTTP-сервер.Вы можете установить пакет http-server в своей системе глобально, , и это здорово, если вы будете использовать http-server
на регулярной основе. Но если вы просто хотите протестировать пакет или хотите свести количество глобально установленных модулей к минимуму, вы можете перейти в каталог, в котором вы хотите его запустить, а затем выполнить следующую команду:
npx http-сервер
И это раскрутит сервер без глобальной установки.
Вы можете узнать больше о npx здесь.
Заключение
В этом руководстве мы рассмотрели основы работы с npm. Мы продемонстрировали, как установить Node.js со страницы загрузки проекта, как изменить расположение глобальных пакетов (чтобы избежать использования sudo
) и как установить пакеты в локальном и глобальном режимах. Мы также рассмотрели удаление, обновление и установку определенной версии пакета, а также управление зависимостями проекта.
Отсюда вы можете сравнить npm и Yarn, чтобы определить, что лучше всего соответствует вашим потребностям.Вы можете справиться с более сложными потребностями с помощью nvm, диспетчера версий узлов, или узнать, как размещать и публиковать частные пакеты npm. А если вы хотите изучить следующее поколение сред выполнения JavaScript, вы можете изучить Deno и узнать, как работает управление пакетами Deno.
С каждым новым выпуском npm делает огромные шаги в мире фронтенд-разработки. По словам его соучредителя, его пользовательская база меняется, и большинство из тех, кто его использует, вообще не используют его для написания Node.Скорее, он превращается в инструмент, который люди используют для сборки JavaScript во внешнем интерфейсе (серьезно, вы можете использовать его для установки чего угодно), и инструмент, который становится неотъемлемой частью написания современного JavaScript.
Как настроить TypeScript
TypeScript можно установить с помощью трех способов установки, в зависимости от того, как вы собираетесь его использовать: модуль npm, пакет NuGet или расширение Visual Studio.
Если вы используете Node.js, вам нужна версия npm. Если вы используете MSBuild в своем проекте, вам нужен пакет NuGet или расширение Visual Studio.
TypeScript в вашем проекте
Настройка TypeScript для каждого проекта позволяет вам иметь множество проектов с множеством различных версий TypeScript, что обеспечивает согласованную работу каждого проекта.
через npm
TypeScript доступен как пакет в реестре npm, доступный как "typescript"
.
Вам понадобится копия Node.js в качестве среды для запуска пакета. Затем вы используете диспетчер зависимостей, например npm, yarn или pnpm, чтобы загрузить TypeScript в свой проект.
npm install typescript --save-dev
npm yarn pnpm
Все эти менеджеры зависимостей поддерживают файлы блокировки, гарантируя, что все в вашей команде используют одну и ту же версию языка. Затем вы можете запустить компилятор TypeScript с помощью одной из следующих команд:
с Visual Studio
Для большинства типов проектов вы можете получить TypeScript как пакет в Nuget для своих проектов MSBuild, например, приложение ASP.NET Core.
При использовании Nuget вы можете установить TypeScript через Visual Studio, используя:
- Окно управления пакетами NuGet (которое можно открыть, щелкнув правой кнопкой мыши узел проекта)
- Консоль диспетчера пакетов Nuget (находится в Инструменты> NuGet Package Manager> Package Manager Console), а затем запустите:
Install-Package Microsoft.TypeScript.MSBuild
Для типов проектов, которые не поддерживают Nuget, вы можете использовать расширение TypeScript Visual Studio. Вы можете установить расширение, используя Extensions> Manage Extensions
в Visual Studio.
Примеры ниже предназначены для более сложных случаев использования.
Глобальная установка TypeScript
Может быть удобно иметь TypeScript, доступный для всех проектов, часто для проверки разовых идей. В долгосрочной перспективе кодовым базам следует отдавать предпочтение установке в масштабе проекта, а не глобальной установке, чтобы они могли извлекать выгоду из воспроизводимых сборок на разных машинах.
через npm
Вы можете использовать npm для глобальной установки TypeScript, это означает, что вы можете использовать команду tsc
в любом месте вашего терминала.
Для этого выполните команду npm install -g typescript
. Будет установлена последняя версия (в настоящее время 4.4).
Альтернативой является использование npx, когда вам нужно запустить tsc
в одноразовых случаях.
через Visual Studio Marketplace
Вы можете установить TypeScript как расширение Visual Studio, что позволит вам использовать TypeScript во многих проектах MSBuild в Visual Studio.
Последняя версия доступна в Visual Studio Marketplace.
Работа с TypeScript-совместимыми транспиляторами
Существуют и другие инструменты, которые конвертируют файлы TypeScript в файлы JavaScript. Вы можете использовать эти инструменты для ускорения или согласованности с существующими инструментами сборки.
Каждый из этих проектов обрабатывает преобразование файлов, но не обрабатывает аспекты проверки типов компилятора TypeScript. Так что вполне вероятно, что вам все равно нужно будет сохранить указанную выше зависимость TypeScript, и вы захотите включить isolatedModules
.
swc
swc - это быстрый транспилятор, созданный на Rust, который поддерживает многие функции Babel, включая TypeScript.
Sucrase
Sucrase - это вилка Babel, ориентированная на скорость для использования в режиме разработки. Sucrase изначально поддерживает TypeScript.
NPM - диспетчер пакетов узла
Node Package Manager (NPM) - это инструмент командной строки, который устанавливает, обновляет или удаляет пакеты Node.js в вашем приложении. Это также онлайн-репозиторий для Node.js-пакеты. Сообщество узлов по всему миру создает полезные модули и публикует их в виде пакетов в этом репозитории.
Теперь он стал популярным менеджером пакетов для других JavaScript-фреймворков с открытым исходным кодом, таких как AngularJS, jQuery, Gulp, Bower и т. Д.
Официальный сайт: https://www.npmjs.com
NPM включен в установку Node.js. После установки Node.js проверьте установку NPM, написав следующую команду в терминале или командной строке.
C: \> npm -v
2.11.3
Если у вас более старая версия NPM, вы можете обновить ее до последней версии, используя следующую команду.
C: \> npm установить npm -g
Чтобы получить доступ к справке NPM, напишите npm help в командной строке или в окне терминала.
C: \> npm help
NPM выполняет операцию в двух режимах: глобальном и локальном.В глобальном режиме NPM выполняет операции, которые влияют на все приложения Node.js на компьютере, тогда как в локальном режиме NPM выполняет операции для конкретного локального каталога, который влияет на приложение только в этом каталоге.
Установить пакет локально
Используйте следующую команду для установки любого стороннего модуля в локальную папку проекта Node.js.
C: \> npm install <имя пакета>
Например, следующая команда установит ExpressJS в папку MyNodeProj.
C: \ MyNodeProj> npm установить экспресс
Все модули, установленные с помощью NPM, устанавливаются в папку node_modules . Приведенная выше команда создаст папку ExpressJS в папке node_modules в корневой папке вашего проекта и установит туда Express.js.
Добавить зависимость в package.json
Используйте --save в конце команды установки, чтобы добавить запись о зависимости в package.json вашего приложения.
Например, следующая команда установит ExpressJS в ваше приложение, а также добавит запись о зависимости в package.json.
C: \ MyNodeProj> npm install express --save
Пакет package.json проекта NodejsConsoleApp будет выглядеть примерно так, как показано ниже.
{
"name": "NodejsConsoleApp",
"версия": "0.4.13.3 "
}
}
Установить пакет глобально
NPM также может устанавливать пакеты глобально, чтобы все приложение node.js на этом компьютере могло импортировать и использовать установленные пакеты. NPM устанавливает глобальные пакеты в папку /
Примените -g в команде установки, чтобы установить пакет глобально. Например, следующая команда установит ExpressJS глобально.
C: \ MyNodeProj> npm install -g express
Пакет обновления
Чтобы обновить пакет, установленный локально в вашем проекте Node.js, перейдите в командной строке или по пути окна терминала к папке проекта и напишите следующую команду обновления.
C: \ MyNodeProj> npm update <имя пакета>
Следующая команда обновит существующий модуль ExpressJS до последней версии.
C: \ MyNodeProj> экспресс-обновление npm
Пакеты удаления
Используйте следующую команду, чтобы удалить локальный пакет из вашего проекта.
C: \> npm uninstall <имя пакета>
Следующая команда удалит ExpressJS из приложения.
C: \ MyNodeProj> npm удалить экспресс
Посетите документы.npmjs.com для получения дополнительной информации о диспетчере пакетов узлов.
Абсолютное руководство для новичков по использованию npm
Делиться
Эффективное использование npm является краеугольным камнем современной веб-разработки, независимо от того, используется ли оно исключительно с Node.js, в качестве менеджера пакетов или инструмента сборки для интерфейса пользователя, или даже как часть рабочих процессов на других языках и на других платформах.
На самом деле понимание npm как инструмента, понимание основных концепций может быть чем-то трудным для новичка - я потратил много часов, просто пытаясь выяснить мелкие детали, которые казались бы незначительными или воспринимались как должное другими.
Таким образом, я написал базовое и подробное руководство по для понимания npm для тех, кто не знаком с Node.js, npm и окружающей экосистемой.
Абсолютное руководство для начинающих по
package.json
Как правило, любой проект, использующий Node.js, должен иметь файл package.json
. Что такое файл package.json
?
В самом простом случае файл package.json
можно описать как манифест вашего проекта, который включает пакеты и приложения, от которых он зависит, информацию об уникальном элементе управления исходным кодом и конкретные метаданные, такие как имя, описание и автор проекта. .
Давайте разберем основные части типичного файла package.json
:
Конкретные метаданные: имя, версия, описание, лицензия и ключевые слова
Внутри package.json вы почти всегда найдете метаданные, относящиеся к проекту - будь то веб-приложение, модуль Node.js или даже простая библиотека JavaScirpt. Эти метаданные помогают идентифицировать проект и служат базой для пользователей и участников при получении информации о проекте.
Вот пример того, как эти поля будут выглядеть в пакете.json файл:
{
"name": "metaverse", // Название вашего проекта
"version": "0.92.12", // Версия вашего проекта
"description": "Виртуальная реальность Метавселенной. Конечный результат всех виртуальных миров, дополненной реальности и Интернета.", // Описание вашего проекта
"главная": "index.js"
"license": "MIT" // Лицензия вашего проекта
}
Файл package.json
- это , всегда , структурированный в формате JSON, что позволяет легко читать его как метаданные и анализировать на машинах.
Если вам нужно отформатировать файл package.json
вручную, чтобы запустить и запустить проект, кажется немного сложным, есть удобная команда, которая автоматически сгенерирует для вас базовый файл package.json
- если вы хотите узнайте, как его использовать, взгляните на инструкции npm init
ниже!
Понимание и управление зависимостями вашего проекта: зависимости
и devDepenendcies
в вашем пакете .json
Другой важнейший аспект упаковки .json
заключается в том, что он содержит коллекцию зависимостей любого данного проекта. Эти зависимости представляют собой модули, от которых зависит правильная работа проекта.
Наличие зависимостей в вашего проекта package.json
позволяет проекту устанавливать версии модулей, от которых он зависит. Запустив команду установки (см. Инструкции для npm install
ниже) внутри проекта, вы можете установить всех зависимостей, перечисленных в пакете проекта.json
- это означает, что они не должны (и почти никогда не должны быть) связаны с самим проектом.
Во-вторых, он позволяет разделить зависимости, необходимые для производства, и зависимости, необходимые для разработки. В производственной среде вам, скорее всего, не понадобится инструмент для отслеживания изменений в файлах CSS и обновления приложения при их изменении. Но как в производстве, так и в разработке вам понадобятся модули, которые позволят вам реализовать то, что вы пытаетесь выполнить в своем проекте, - например, веб-фреймворк, инструменты API и утилиты кода.
Как бы выглядел проект package.json
с зависимостями
и devDependencies
? Давайте расширим предыдущий пример пакета package.json
, чтобы включить некоторые из них.
{
"name": "метавселенная",
"версия": "0.92.12",
"description": "Виртуальная реальность Метавселенной. Конечный результат всех виртуальных миров, дополненной реальности и Интернета.",
"главная": "index.js"
«лицензия»: «MIT»,
"devDependencies": {
"мокко": "~ 3.1.0.0 ",
"решить": "~ 1.1.7"
}
}
Одно из ключевых различий между зависимостями и другими общими частями пакета package.json
заключается в том, что они оба являются объектами с несколькими парами ключ / значение. Каждый ключ в зависимостях
и devDependencies
- это имя пакета, а каждое значение - это диапазон версий, который приемлем для установки (согласно семантическому управлению версиями - чтобы узнать больше о семантическом управлении версиями, также известном как семвер, ознакомьтесь с нашим грунтовка по семверю).
Не можете насытиться npm? Загрузите наше полное руководство:
Прочтите сейчас: полное руководство по npm
Основные команды npm
При использовании npm вы, скорее всего, будете использовать инструмент командной строки для большинства ваших взаимодействий. Таким образом, вот подробное изложение команд, с которыми вы столкнетесь и должны будете использовать наиболее часто.
Использование
npm init
для инициализации проекта
Команда npm init
- это пошаговый инструмент для создания каркаса вашего проекта.Вам будет предложено ввести несколько аспектов проекта в следующем порядке:
- Название проекта,
- Первоначальная версия проекта,
- Описание проекта,
- Точка входа в проект (имеется в виду главный файл проекта),
- Тестовая команда проекта (для запуска тестирования с чем-то вроде Standard)
- Репозиторий проекта git (где можно найти исходный код проекта)
- Ключевые слова проекта (в основном, теги, относящиеся к проекту)
- Лицензия на проект (по умолчанию ISC - Node.js - это MIT)
Стоит отметить, что если вас устраивает предложение , которое команда npm init
предоставляет рядом с приглашением, вы можете просто нажать Return
или Enter
, чтобы принять предложение и перейти к следующему незамедлительный.
После выполнения шагов npm init
, описанных выше, будет сгенерирован файл package.json
, который будет помещен в текущий каталог. Если вы запустите его в каталоге, который не предназначен исключительно для вашего проекта, не волнуйтесь! Создание пакета .json
на самом деле не делает ничего, кроме создания файла package.json
. Вы можете переместить файл package.json
в каталог, посвященный вашему проекту, или вы можете создать совершенно новый в таком каталоге.
Как использовать
npm init
:
npm init # Это вызовет инициализацию
Использование
npm init --yes от
до Мгновенно Инициализация проекта
Если вы хотите приступить к созданию своего проекта и не хотите тратить (хотя и короткое) время на ответы на запросы, исходящие от npm init
, вы можете использовать флаг --yes
на npm. Команда init
для автоматического заполнения всех параметров значениями по умолчанию npm init
.
Примечание: Вы можете настроить эти значения по умолчанию с помощью конфигурации npm - это более сложная тема, выходящая за рамки данного руководства для начинающих по npm.
Тем не менее, если вы заинтересованы в настройке, вы можете узнать, как установить эти значения по умолчанию, в одиннадцатом совете нашей статьи о трюках npm.
использование:
npm init --yes # Это запустит автоматически заполненную инициализацию.
Установить модули с
npm install
Установка модулей из npm - одна из самых простых вещей, которую вы должны научиться делать, начиная работать с npm.По мере того, как вы углубитесь, вы начнете изучать некоторые варианты установки модулей, но вот самое главное из того, что вам нужно знать для установки автономного модуля в текущий каталог:
npm install <модуль>
В приведенной выше команде вы замените <модуль>
на имя модуля, который вы хотите установить. Например, если вы хотите установить Express (наиболее часто используемый и самый известный веб-фреймворк Node.js), вы можете выполнить следующую команду:
npm установить экспресс
Приведенная выше команда установит модуль express
в / node_modules
в текущем каталоге.Всякий раз, когда вы устанавливаете модуль из npm, он будет установлен в , папку node_modules
.
Помимо запуска установки одного модуля, вы можете фактически запустить установку всех модулей , которые перечислены как зависимости
и devDependencies
в пакете package.json
в текущем каталоге. Для этого вам просто нужно запустить саму команду:
npm установить
Как только вы запустите это, npm начнет процесс установки всех зависимостей текущего проекта.
В стороне, следует отметить, что существует псевдоним для npm install
, который вы можете увидеть в дикой природе при работе с модулями из экосистемы. Псевдоним npm i
, где i
заменяет install
.
Этот, казалось бы, второстепенный псевдоним - небольшая проблема для новичков - включая меня, несколько раз, когда я учился - экосистемам Node.js и npm, поскольку не существует стандартизированного единого способа, с помощью которого создатели и сопровождающие модулей могли бы проинструктировать, как установить их модуль.
использование:
npm install # Где - это имя модуля, который вы хотите установить
npm i # Где - это имя модуля, который вы хотите установить - с использованием псевдонима i для установки
Установите модули и сохраните их в свой
package.json
как зависимость
Как и в случае с npm init
, команда npm install
имеет один или два флага, которые вы найдете полезными в своем рабочем процессе - это сэкономит ваше время и усилия в отношении пакета вашего проекта.json
файл.
Когда вы запускаете npm install
для установки модуля, вы можете добавить к команде необязательный флаг --save
. Этот флаг добавит модуль как зависимость вашего проекта к проекту package.json
как запись в зависимостях
.
использование:
npm install --save # Где - имя модуля, который вы хотите установить
Установите модули и сохраните их в свой пакет
.json
как зависимость разработчика
Есть флаг, который практически полностью повторяет с точки зрения функциональности флаг --save
при установке модуля: --save-dev
. Между ними есть несколько ключевых различий - вместо сохранения устанавливаемого модуля и добавления его в package.json
в качестве записи в dependencies
он сохранит его как запись в devDependencies
.
Семантическая разница здесь в том, что зависимости
предназначены для использования в производственной среде - независимо от того, что это повлечет за собой для вашего проекта.С другой стороны, devDependencies
- это набор зависимостей, которые используются в разработке вашего приложения - модули, которые вы используете для его сборки, но не должны использовать, когда он работает под . Сюда могут входить такие вещи, как инструменты тестирования, локальный сервер для ускорения разработки и многое другое.
использование:
npm install --save-dev # Где - это имя модуля, который вы хотите установить
Глобальная установка модулей в вашей системе
Последний и самый распространенный флаг для npm install
, который вы должны использовать для глобальной установки модуля в вашей системе.
Модули
Global могут быть чрезвычайно полезными - существует множество инструментов, утилит и многого другого как для разработки, так и для общего использования, которые вы можете установить глобально для использования.
Чтобы установить модуль из npm глобально, вам просто нужно использовать флаг --global
при запуске команды установки, чтобы модуль устанавливался глобально, а не локально (в текущий каталог).
Примечание: Одно предостережение в отношении глобальных модулей заключается в том, что по умолчанию npm устанавливает их в системный каталог, а не в локальный.Если это используется по умолчанию, вам необходимо пройти аутентификацию в качестве привилегированного пользователя в вашей системе для установки глобальных модулей.
Рекомендуется изменить расположение установки по умолчанию с системного каталога на каталог пользователя. Если вы хотите научиться этому, ознакомьтесь с седьмым советом в нашей статье о трюках npm!
использование:
npm install --global # Где - это имя модуля, который вы хотите установить глобально
npm install -g # Где - это имя модуля, который вы хотите установить глобально, с использованием псевдонима -g
Хотите продолжить?
Если вы хотите продолжать изучать npm и все его аспекты, у меня есть для вас несколько замечательных вещей.Не так давно мы поделились несколькими трюками npm, чтобы сбить с ног ваши носки вомбата. Более того, мы написали продолжение с еще большим количеством трюков с npm! Это руководство для новичков - отличный трамплин для начала, и оба они помогут вам начать оптимизировать свою работу с npm! Если вы хотите пойти еще дальше с npm и начать развертывание приложений Node.js и модулей npm в производственной среде, вам определенно следует взглянуть на сертифицированные модули NodeSource - это отличный инструмент, который дополнит ваши недавно приобретенные навыки npm. !
Использование NPM для установки определенной версии узла.js Пакет
Диспетчер пакетов узла (npm) - это служебная программа управления пакетами по умолчанию для пакетов или модулей Node.js. Вы можете использовать его для установки и управления версиями зависимостей в ваших проектах.
Можно использовать npm для установки определенной версии пакета и защиты вашего проекта от поломки из-за внесения несовместимых обновлений.
В этом блоге рассказывается о том, как установить конкретную версию пакета Node.js через npm. Он охватывает следующие темы:
Как установить определенную версию пакета
Вы можете использовать команду npm install , чтобы загрузить и установить пакет в своей среде разработки.
Вот пример:
По умолчанию команда npm install извлекает последнюю доступную версию указанного пакета - в данном случае это Renovate версии 24.52.1 на момент написания этой статьи. Renovate - это находчивый пакет, который позволяет автоматизировать обновления зависимостей.
Однако что, если последняя версия вызывает критические изменения в вашем приложении, или вам просто нужна другая версия по какой-либо другой причине?
В таких случаях установка точной версии пакета может наилучшим образом удовлетворить ваши потребности.Вы можете просто указать версию, используя синтаксис @.
Вот команда для запуска для конкретной версии npm install:
npm install [имя-пакета] @ [номер-версии] |
Приведенная выше команда установит конкретную версию пакета, которую вы хотите, вместе со всеми пакетами, от которых она зависит.
Например, чтобы установить определенную версию Renovate, вы можете запустить следующую команду:
npm установить обновить @ 20.5,1 |
Или вы можете использовать сокращенную версию команды:
Приведенная выше команда установит Renovate версии 20.5.1 локально.
Вот пример:
Если вы хотите установить его глобально, вы можете просто добавить флаг -g (сокращение от –global):
npm install -g [email protected] |
Как узнать доступные версии пакета
Если вы хотите узнать точную версию устанавливаемого пакета, вы можете просто найти ее в общедоступной базе данных реестра npm.
Или вы можете просто запустить следующую команду, чтобы проверить доступные версии в реестре npm:
npm просмотр [имя-пакета] версии |
Если вы хотите узнать конкретную последнюю версию пакета, доступную в реестре npm, выполните следующую команду:
npm view [имя-пакета] версия |
Например, вот как вы можете проверить последнюю версию пакета Renovate:
Как узнать конкретную версию установленного пакета
Если вы хотите увидеть древовидный список всех локально установленных пакетов, включая их зависимости, выполните следующую команду:
Или его сокращенная версия:
Вот пример:
Конечно, можно просто перейти на блокировку пакета .json , но ручная проверка версий пакетов потребует некоторого визуального сканирования.
Если вы хотите отобразить все установленные пакеты верхнего уровня без их зависимостей, добавьте флаг –depth = 0 . Флаг используется для ограничения глубины отображаемого дерева зависимостей.
Вот пример:
Если вы хотите проверить глобально установленные пакеты, просто добавьте флаг -g (сокращение от –global ):
Если вы хотите узнать конкретную последнюю версию установленного пакета, просто укажите ее имя.
список npm [имя-пакета] |
Вот пример:
Как установить более старую версию пакета NPM
Вы можете захотеть установить старую версию пакета npm по любой причине, например, для решения проблем совместимости или ошибок.
Чтобы перейти на более раннюю версию, просто укажите ее с помощью синтаксиса @. Это тот же процесс, что и при установке определенной версии пакета, как было описано ранее.
Вот синтаксис:
npm install [имя-пакета] @ [номер-версии] |
Как использовать семантическое управление версиями для указания версий установки
Semantic Versioning Specification (SemVer) - это набор правил соглашения, которым следует npm для определения того, как пакеты контролируются. Каждая версия пакета имеет три числа, например 24.42.1, которые представляют версии major.minor.patch соответственно.
npm позволяет использовать SemVer для указания версии пакета для установки.), чтобы указать последнюю дополнительную версию для установки, или символ тильды (~), чтобы указать последнюю версию исправления для установки.
Например, если вы не знаете конкретную дополнительную версию пакета для установки, вы можете префикс номера версии с помощью символа вставки:
Приведенная выше команда получила младшую младшую версию пакета до 20.x.x., которая оказалась 20.25.8.
Кроме того, если вы хотите поддерживать свои пакеты в актуальном состоянии с помощью последних исправлений безопасности, но не знаете последнюю версию в этом диапазоне, вы можете префикс номера версии с помощью тильды:
Приведенная выше команда получила последнюю исправленную версию пакета до 23.14.x., которое оказалось 23.14.5.
Сводка
- Для npm install конкретной версии используйте npm install [имя-пакета] @ [номер-версии].
- Используйте npm view [package-name] version, чтобы узнать конкретную последнюю версию пакета, доступную в реестре npm.
- Используйте npm list [имя-пакета], чтобы узнать конкретную последнюю версию установленного пакета.
- Используйте команду npm install [имя-пакета] @ [номер-версии], чтобы установить старую версию пакета.) или тильда (~), чтобы указать установку последней дополнительной версии или патча соответственно.