Установка npm‑модуля локально без глобальной установки
Узнайте, как установить скачанный npm‑модуль локально в проекте, используя локальные пути, tarball, git‑URL или npm link, чтобы избежать глобальной установки для чистой.
Как можно установить скачанный npm‑модуль локально в каталоге проекта, а не глобально?
Скачанный пакет можно добавить в папку node_modules вашего проекта, установив его из локального пути, из tarball‑архива или связав с помощью npm link. Ни один из этих способов не требует глобальной установки; модуль остаётся внутри проекта и разрешается через require() или import точно так же, как и любая другая зависимость.
Содержание
- Как установить из локальной папки
- Как установить из архивного файла
- Как связать локальный пакет с проектом
- Как использовать git‑URL для локальной установки
- Лучшие практики и советы
Как установить из локальной папки
Если вы уже распаковали пакет в отдельную директорию, просто укажите путь к ней при установке:
# Предположим, пакет лежит по пути ../my-lib
npm install ../my-lib --save
../my-lib— относительный путь от каталога проекта к пакету.--save— добавит зависимость вpackage.json(в npm ≥ 5 это по умолчанию).
После выполнения команды в вашем проекте появится каталог node_modules/my-lib.
Вы можете проверить, что пакет доступен:
node -e "console.log(require('./node_modules/my-lib').version)"
Совет:
Если вы собираетесь часто менять пакет, можно использоватьnpm link(см. ниже) чтобы автоматически обновлять ссылку.
Как установить из архивного файла
Если пакет пришёл в виде tarball‑архива (.tgz, .tar.gz), установите его напрямую:
npm install /path/to/package.tgz --save
npm разархивирует файл в node_modules и установит все зависимости, указанные в его package.json.
Если архив был загружен из интернета, можно сразу указать URL:
npm install https://example.com/package.tgz --save
Примечание:
При работе с приватными пакетами убедитесь, что ваш токен npm настроен в.npmrc.
Как связать локальный пакет с проектом
npm link позволяет «подключить» локальный пакет к проекту, как будто он установлен глобально, но при этом остаётся в локальной папке.
-
Перейдите в каталог пакета и создайте глобальную ссылку:
bashcd /path/to/my-lib npm link -
В каталоге вашего проекта подключите пакет:
bashcd /path/to/my-project npm link my-lib
После этого в node_modules появится символическая ссылка на my-lib, и любые изменения в исходниках пакета автоматически видны в проекте.
Плюсы
• Быстрый прототипинг разработки.
• Не требуется пересобирать пакет каждый раз.
Минусы
• Ссылки работают только в пределах одной машины.
• Нужно управлять версиями вручную, если пакет используется в нескольких проектах.
Как использовать git‑URL для локальной установки
Если пакет хранится в Git‑репозитории, но вы хотите установить его локально, можно указать локальный репозиторий как источник:
# Предположим, репозиторий находится в ../my-lib
npm install ../my-lib --save
npm распознаёт, что это git‑репозиторий, и клонирует его в node_modules.
Если репозиторий уже клонирован, npm просто копирует файлы.
Совет
Добавьте строку"git": "file:../my-lib"в разделdependenciesвашегоpackage.json, чтобы сделать установку декларативной.
Лучшие практики и советы
| Практика | Почему важно | Как реализовать |
|---|---|---|
| Устанавливать только нужные пакеты | Уменьшает размер node_modules и ускоряет сборку |
npm install <pkg> --save-dev если пакет нужен только при разработке |
| Разрешать версии явно | Предотвращает конфликт зависимостей | npm install <pkg>@1.2.3 --save |
Проверять package.json на наличие files |
Убирает лишние файлы из пакета | В корне пакета добавить "files": ["dist", "src"] |
Использовать npm ci в CI/CD |
Быстрое и предсказуемое развертывание | npm ci вместо npm install |
| Документировать локальные зависимости | Упростит поддержку проекта | Добавить в README инструкции типы установки |
Заключение
- Для локальной установки можно указать путь к папке, архиву или git‑репозиторию.
npm linkполезен при активной разработке, но ограничен локальной средой.- Установка из локальной папки сохраняет структуру проекта чистой и не загрязняет глобальное окружение.
- Следуйте лучшим практикам, чтобы ваш проект оставался надёжным и легко воспроизводимым.