MrShtein
@MrShtein
начинающий front-end разработчик

Как в NodeJS устанавливать пакеты при отсутствии интернета?

Добрый день. Данный вопрос уже задавался, но работающих ответов так нет. Есть компьютер без доступа к сети интернет, нужна возможность устанавливать на него пакеты при помощи npm.
  • Вопрос задан
  • 354 просмотра
Пригласить эксперта
Ответы на вопрос 2
@RidgeA
Никак.
Если нужно что бы код работал на машине без интернета - надо создавать "сборку" - папку с твоим кодом и node_modules
Для этого я делал так:
1 - в отдельную папку копировал свой код + package.json + package-lock.json + то, что нужно для работы кода (конфиги и т. п.)
2 - там запускается npm i --prod (тут надо правильно зависимости распределить)
3 - запускается скрипт для очистки папки от ненужного хлама в виде файлов лицензий и т.п. - что бы было меньше файлов (https://www.npmjs.com/package/modclean)
4 - папка пакуется в арихв (https://www.npmjs.com/package/bestzip)
5 - временная папка очищается
6 - дальше архив можно залить на нужную машину, распаковать и запустить там
Ответ написан
@Abcdefgk
Любой пакет можно просто копировать в папку node_modules (на флешке перенести). Но если он сложный (а процентов 50-60 - сложные), то нужно вместе с ним копировать и все его зависимости и зависимости зависимостей (их, понятно, можно посмотреть в файлах package.json). Ну вот так.
Когда-то, года два ещё назад, Npm работал по-другому - зависимости каждого пакета складывал внутри пакета, в папочку node_modules внутри него. Но с какого-то момента его "поправили" - он стал вываливать все зависимости в корневую node_modules. Переносить без интернета модули на флешке стало похлопотнее.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы