Могу ли я заново создать node_modules из package-lock.json? - PullRequest
0 голосов
/ 06 октября 2018

Я клонировал репозиторий из github, у которого есть package-lock.json (но нет package.json).Затем в терминале git bash я захожу в каталог и запускаю npm install, но я просто получаю сообщение о том, что нет package.json, а затем все в package-lock.json удаляется, так что он в основном пуст, за исключением имени проекта иверсия.

Я думал, что запуска npm install с package-lock.json в каталоге было достаточно, чтобы заново создать node_modules, но серьезно ли я неправильно понимаю, как это работает?Кстати, у меня есть узел 8.12.0 и npm 6.4.1, и я работаю в Windows 10. Кроме того, я думаю, что package-lock.json был создан в системе Unix, поэтому могут возникнуть проблемы при использовании package-lock.json вдругая ОС?

Я уже пытался запустить npm init только для того, чтобы получить файл package.json, а затем запустить npm install, но это все равно не дало мне папку node_modules.

Ответы [ 2 ]

0 голосов
/ 16 февраля 2019

Начиная с 5 марта 2018 года, вы можете запустить npm ci для установки пакетов из package-lock.json.

npm ci обходит пакет package.json для установки модулей из файла блокировки пакета.

https://blog.npmjs.org/post/171556855892/introducing-npm-ci-for-faster-more-reliable

0 голосов
/ 09 октября 2018

AFAIK, файл package-lock.json зависит от наличия файла package.json, поэтому вы не сможете воссоздать папку node_modules только из файла package-lock.json (рад, что здесь вы ошиблись).

Поэтому лучше всего (неправильно) использовать такой модуль, как auto-install , который способен генерировать файл package.json на основе зависимостей проекта, как они отображаются вфайлы.

Установите его глобально (npm install -g auto-install), затем вам потребуется сгенерировать пустой файл package.json для его запуска (используйте npm init -y в корневом каталоге вашего проекта).Начните все с команды auto-install, и она должна добавить зависимости в файл package.json.

HTH

...