NPM (Node Package Manager) — это пакетный менеджер для Node.js, который позволяет управлять модулями и зависимостями. В этом руководстве мы рассмотрим основные команды NPM и приведем множество примеров их использования, чтобы вы могли эффективно управлять вашими Node.js проектами.
Основные команды NPM
Вот список полезных команд NPM с примерами использования:
1. Инициализация нового проекта
npm init
// Инициализирует новый проект Node.js, создавая файл package.json.
Примеры:
npm init -y
// Инициализирует новый проект с использованием стандартных настроек.
npm init --scope=@my-scope
// Инициализирует новый проект с указанным скоупом.
2. Список глобальных пакетов
npm list -g --depth=0
// Показывает список глобально установленных пакетов.
Примеры:
npm list -g --depth=1
// Показывает список глобально установленных пакетов с зависимостями первого уровня.
3. Установка пакетов
npm install
// Устанавливает все зависимости, указанные в файле package.json.
npm install <package-name>
// Устанавливает указанный пакет.
Примеры:
npm install express
// Устанавливает пакет Express.
npm install lodash --save
// Устанавливает пакет lodash и добавляет его в зависимости.
npm install typescript --global
// Глобально устанавливает TypeScript.
4. Обновление пакетов
npm update <package-name>
// Обновляет указанный пакет до последней версии.
npm update
// Обновляет все установленные пакеты до последних версий.
Примеры:
npm update express
// Обновляет пакет Express до последней версии.
npm update -g
// Обновляет все глобально установленные пакеты до последних версий.
5. Проверка состояния окружения
npm doctor
// Проверяет состояние вашего npm окружения и дает советы по устранению возможных проблем.
Примеры:
npm doctor --verbose
// Проверяет состояние окружения с подробным выводом.
6. Очистка кеша
npm cache clean
// Очищает кеш npm.
npm cache clean --force
// Принудительно очищает кеш npm.
Примеры:
npm cache clean --verify
// Очищает и проверяет кеш npm.
7. Список установленных пакетов
npm list
// Показывает список установленных пакетов и их зависимостей.
npm list -g
// Показывает список глобально установленных пакетов и их зависимостей.
Примеры:
npm list express
// Показывает информацию о пакете Express.
npm list --depth=0
// Показывает список установленных пакетов без их зависимостей.
8. Поиск пакетов
npm search <package-name>
// Ищет пакеты в реестре NPM.
Примеры:
npm search lodash
// Ищет пакеты, связанные с lodash.
npm search express --json
// Ищет пакеты, связанные с express, и выводит результат в формате JSON.
9. Удаление пакетов
npm uninstall <package-name>
// Удаляет указанный пакет.
Примеры:
npm uninstall express
// Удаляет пакет Express.
npm uninstall lodash --save
// Удаляет пакет lodash и убирает его из зависимостей.
10. Запуск скриптов
npm run <script-name>
// Запускает скрипт, определенный в файле package.json.
Примеры:
npm run build
// Запускает скрипт "build", определенный в package.json.
npm run test
// Запускает скрипт "test", определенный в package.json.
11. Запуск сервера разработки
npm start
// Запускает скрипт "start", определенный в package.json.
Примеры:
npm start
// Запускает сервер разработки, если в package.json определен скрипт "start".
npm start -- --port=8080
// Запускает сервер разработки с указанным портом.
12. Запуск тестов
npm test
// Запускает скрипт "test", определенный в package.json.
Примеры:
npm test
// Запускает все тесты, если в package.json определен скрипт "test".
npm test -- --watch
// Запускает тесты в режиме наблюдения.
13. Публикация пакета
npm publish
// Публикует пакет в реестре npm.
Примеры:
npm publish --access public
// Публикует пакет как публичный.
npm publish --tag beta
// Публикует пакет с меткой "beta".
14. Управление версиями
npm version
// Выводит текущую версию npm.
npm version <new-version>
// Обновляет версию пакета в package.json.
Примеры:
npm version patch
// Увеличивает патч-версию (1.0.0 -> 1.0.1).
npm version minor
// Увеличивает минорную версию (1.0.0 -> 1.1.0).
npm version major
// Увеличивает мажорную версию (1.0.0 -> 2.0.0).
15. Управление конфигурацией
npm config
// Управляет конфигурацией npm.
Примеры:
npm config list
// Показывает текущие настройки конфигурации.
npm config set registry https://registry.npm
js.org/
// Устанавливает URL реестра npm.
npm config get registry
// Показывает текущий URL реестра npm.
16. Получение справки по командам
npm help <command>
// Выводит справку по указанной команде.
Примеры:
npm help install
// Выводит справку по команде "install".
npm help config
// Выводит справку по команде "config".
17. Получение информации о пакете
npm view <package-name>
// Предоставляет информацию о конкретном пакете.
Примеры:
npm view express
// Показывает информацию о пакете Express.
npm view lodash version
// Показывает текущую версию пакета lodash.
npm view react dependencies
// Показывает зависимости пакета react.
18. Список устаревших пакетов
npm outdated
// Показывает список устаревших пакетов.
Примеры:
npm outdated
// Показывает все устаревшие пакеты в проекте.
npm outdated --json
// Показывает список устаревших пакетов в формате JSON.
19. Пересборка пакетов
npm rebuild
// Пересобирает все установленные пакеты.
Примеры:
npm rebuild node-sass
// Пересобирает пакет node-sass.
npm rebuild --force
// Принудительно пересобирает все пакеты.
20. Анализ безопасности пакетов
npm audit
// Производит анализ установленных пакетов на предмет уязвимостей.
Примеры:
npm audit --fix
// Автоматически исправляет обнаруженные уязвимости.
npm audit --json
// Показывает отчет о безопасности в формате JSON.
21. Упаковка пакетов
npm pack
// Упаковывает пакет в архив .tgz.
Примеры:
npm pack
// Упаковывает текущий проект в архив .tgz.
npm pack --dry-run
// Показывает, какие файлы будут включены в архив, без фактического создания архива.
22. Установка пакетов для CI/CD
npm ci
// Устанавливает зависимости в автоматизированных средах.
Примеры:
npm ci
// Устанавливает зависимости на основе точных версий в package-lock.json.
npm ci --prefer-offline
// Устанавливает зависимости с использованием кэша, если возможно.
23. Ссылки на локальные пакеты
npm link
// Создает символическую ссылку на локальный пакет.
Примеры:
npm link ../my-local-package
// Ссылается на локальный пакет в другом каталоге.
npm link my-package
// Ссылается на глобально установленный пакет my-package.
24. Удаление ссылок на локальные пакеты
npm unlink
// Удаляет символическую ссылку, созданную командой npm link.
Примеры:
npm unlink ../my-local-package
// Удаляет ссылку на локальный пакет в другом каталоге.
npm unlink my-package
// Удаляет ссылку на глобально установленный пакет my-package.
25. Проверка кеша
npm cache verify
// Проверяет кеш npm на наличие ошибок или поврежденных данных.
Примеры:
npm cache verify
// Проверяет и исправляет кеш npm.
npm cache verify --verbose
// Проверяет кеш npm с подробным выводом.
26. Устранение дублирования зависимостей
npm dedupe
// Устраняет дублирование зависимостей в дереве установленных пакетов.
Примеры:
npm dedupe
// Оптимизирует структуру дерева зависимостей в проекте.
npm dedupe --dry-run
// Показывает, какие зависимости будут устранены, без фактического выполнения команды.
27. Поддержка разработчиков пакетов
npm fund
// Показывает информацию о поддержке разработчиков пакетов.
Примеры:
npm fund
// Показывает информацию о поддержке для всех зависимостей в проекте.
npm fund lodash
// Показывает информацию о поддержке для пакета lodash.
28. Управление владельцами пакетов
npm owner add <user> <package>
// Добавляет пользователя в качестве владельца пакета.
npm owner rm <user> <package>
// Удаляет пользователя из списка владельцев пакета.
Примеры:
npm owner add alice lodash
// Добавляет пользователя alice в качестве владельца пакета lodash.
npm owner rm bob lodash
// Удаляет пользователя bob из списка владельцев пакета lodash.
29. Пометка пакетов как устаревших
npm deprecate <package>@<version> <message>
// Помечает определенную версию пакета как устаревшую.
Примеры:
npm deprecate lodash@3.0.0 "Этот пакет устарел, используйте lodash@4.0.0."
// Помечает версию 3.0.0 пакета lodash как устаревшую.
30. Управление доступом к пакетам
npm access
// Управляет доступом к пакетам, опубликованным в npm.
Примеры:
npm access public lodash
// Делает пакет lodash публичным.
npm access restricted lodash
// Делает пакет lodash приватным.
npm access grant read-only bob lodash
// Предоставляет пользователю bob доступ только для чтения к пакету lodash.
31. Выход из аккаунта npm
npm logout
// Выходит из аккаунта npm на текущем устройстве.
Примеры:
npm logout
// Завершает сеанс пользователя на текущем устройстве.
32. Вход в аккаунт npm
npm login
// Вход в аккаунт npm для публикации пакетов и выполнения других действий, требующих аутентификации.
Примеры:
npm login
// Ввод учетных
данных для входа в аккаунт npm.
npm login --registry=https://custom-registry.example.com
// Вход в аккаунт npm с использованием пользовательского реестра.
33. Проверка текущего пользователя npm
npm whoami
// Отображает имя пользователя npm, под которым вы вошли в систему на текущем устройстве.
Примеры:
npm whoami
// Показывает текущего пользователя npm.
34. Открытие репозитория пакета
npm repo <package>
// Открывает репозиторий пакета в браузере.
Примеры:
npm repo lodash
// Открывает репозиторий пакета lodash в браузере.
35. Открытие страницы с ошибками пакета
npm bugs <package>
// Открывает страницу с ошибками (багами) пакета в браузере.
Примеры:
npm bugs express
// Открывает страницу с ошибками пакета Express в браузере.
36. Добавление пакета в избранное
npm star <package>
// Добавляет пакет в список избранных (starred) пакетов пользователя.
Примеры:
npm star lodash
// Добавляет пакет lodash в избранное.
37. Удаление пакета из избранного
npm unstar <package>
// Удаляет пакет из списка избранных пакетов пользователя.
Примеры:
npm unstar lodash
// Удаляет пакет lodash из избранного.
38. Список избранных пакетов
npm stars
// Выводит список всех пакетов, отмеченных как избранные текущим пользователем.
Примеры:
npm stars
// Показывает все избранные пакеты текущего пользователя.
39. Создание токенов для аутентификации
npm token create
// Создает токен для аутентификации.
Примеры:
npm token create --read-only
// Создает токен только для чтения.
npm token create --cidr=192.168.1.0/24
// Создает токен с ограничением по IP-адресу.
40. Управление токенами аутентификации
npm token list
// Отображает список всех созданных токенов аутентификации.
npm token revoke <token>
// Удаляет токен аутентификации.
Примеры:
npm token list
// Показывает все токены аутентификации текущего пользователя.
npm token revoke <token>
// Удаляет указанный токен аутентификации.
41. Проверка связи с сервером npm
npm ping
// Проверяет связь с сервером npm.
Примеры:
npm ping
// Проверяет доступность сервера npm.
42. Управление профилем пользователя
npm profile
// Управляет профилем пользователя на npm.
Примеры:
npm profile get
// Показывает информацию о профиле текущего пользователя.
npm profile set email user@example.com
// Изменяет адрес электронной почты профиля пользователя.
Заключение
NPM предоставляет широкий спектр команд для управления проектами на Node.js. Используя эти команды, вы можете эффективно управлять зависимостями, конфигурацией и версиями пакетов, а также автоматизировать различные аспекты вашего рабочего процесса. Надеемся, что это руководство поможет вам максимально эффективно использовать NPM в ваших проектах.