Я загрузил тему, и в ней есть файл package-lock.json, но нет файла package.json. Есть ли способ сгенерировать package.json из файла package-lock.json. Как установить модули узлов с помощью только файла package-lock.json. Есть способ сделать это?
У меня есть, но он не дает мне найти файл package.json
Что-то не так с темой, потому что package.json необходим для установки других зависимостей ... каков URL-адрес темы?
возможный дубликат stackoverflow.com/questions/53858814/…





Установите последнюю версию npm с npm install -g npm
Запустите npm init и ответьте на вопросы.
Приведенная выше команда сгенерирует package.json и включит существующие пакеты, перечисленные в package-lock.json.
Я попробовал это с последней версией npm (6.4.1), и она не работает. Он создает только файл package.json без перечисленных зависимостей.
@Amade Интересно, я смог восстановить свои пакеты с помощью этой команды: /
@MajAfy Ну, я не уверен, почему (пожимает плечами)
npm 6.6.0. package.json не включает существующие пакеты, перечисленные в package-lock.json
6.9.0, и он все еще не работает, как и npm ci - какой смысл использовать этот файл в CI, если кажется, что он игнорируется?
Работал у меня с версией 6.4.1
см. ответ @paul ниже
уничтожен package-lock.json
Файл пакет-lock.json зависит от наличия файла package.json, поэтому получить package.json невозможно (приятно, что мы ошиблись).
Итак, возможное решение - использовать такой модуль, как автоматическая установка, который способен генерировать package.json из зависимостей файла проекта.
Во-первых, вам необходимо глобально установить модуль npm install -g auto-install. Затем запустите npm init и выполните основные требования.
Затем запустите auto-install в корневом каталоге вашего проекта. Все зависимости должны отражаться в файле package.json.
**
**
Запустите npm ci, который обходит пакет package.json для установки модулей из файла блокировки пакета.
npm ci всегда сообщает мне «добавлено 0 пакетов», а auto-installпереписал мой пакет-lock.json, установил 2 случайных пакета и остановился на «Инициализированы наблюдатели» ... Папка node_modules была создана, но только с этими двумя пакетами ... Рад, что у меня была резервная копия блокировки :(
npm ciзависит от на package.json, поэтому его нельзя использовать только с package-lock.json.
Думаю, я разобрался.
Я не думаю, что npm init может использовать package-lock.json. Однако кажется, что делает извлекает из того, что уже находится в вашем / node_modules. Я считаю, что именно поэтому решение @Harry B работает для одних и не работает для других.
Например, если вы только что клонировали свой проект, который содержит package-lock.json, без package.json и пустой / несуществующий node_modules, npm init не будет создавать никаких зависимостей. Однако, если вы запустите npm install pkg1 pkg2 pkg3 ...тогда, запустите npm init, он будут создаст зависимости в package.json.
Это прекрасное объяснение. Я клонировал проект на локальный, который включал node_modules, но не package.json, поэтому я не мог перестроить и развернуть. Это было идеальное решение моей проблемы.
Это прекрасный комментарий ситуации, но он не имеет ничего общего с ответом на вопрос: How do I install the node modules with just the package-lock.json file
https://pravnyadv.github.io/unpackage/ вроде работает. Скопируйте текст файла блокировки пакета, нажмите кнопку, скопируйте текст в новый файл package.json.
Это идеальное решение
Вы пробовали
npm install?