Создайте package.json из package-lock.json

Я загрузил тему, и в ней есть файл package-lock.json, но нет файла package.json. Есть ли способ сгенерировать package.json из файла package-lock.json. Как установить модули узлов с помощью только файла package-lock.json. Есть способ сделать это?

Вы пробовали npm install?

ralphtheninja 26.04.2018 12:26

У меня есть, но он не дает мне найти файл package.json

Sandeep kurien 29.04.2018 09:01

Что-то не так с темой, потому что package.json необходим для установки других зависимостей ... каков URL-адрес темы?

John Samuel 26.05.2018 18:38

возможный дубликат stackoverflow.com/questions/53858814/…

cangosta 08.02.2019 21:32
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
41
4
26 003
4

Ответы 4

Установите последнюю версию npm с npm install -g npm

Запустите npm init и ответьте на вопросы.

Приведенная выше команда сгенерирует package.json и включит существующие пакеты, перечисленные в package-lock.json.

Я попробовал это с последней версией npm (6.4.1), и она не работает. Он создает только файл package.json без перечисленных зависимостей.

Amade 02.09.2018 15:46

@Amade Интересно, я смог восстановить свои пакеты с помощью этой команды: /

VeeeneX 03.09.2018 10:12

@MajAfy Ну, я не уверен, почему (пожимает плечами)

VeeeneX 26.11.2018 13:17

npm 6.6.0. package.json не включает существующие пакеты, перечисленные в package-lock.json

slideshowp2 23.01.2019 03:57

6.9.0, и он все еще не работает, как и npm ci - какой смысл использовать этот файл в CI, если кажется, что он игнорируется?

RuiDC 21.06.2019 16:53

Работал у меня с версией 6.4.1

Jakub Hubert 23.06.2019 12:20

см. ответ @paul ниже

Vincent Buscarello 01.09.2020 00:27

уничтожен package-lock.json

nerkn 05.01.2021 19:53

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

Итак, возможное решение - использовать такой модуль, как автоматическая установка, который способен генерировать package.json из зависимостей файла проекта.

Во-первых, вам необходимо глобально установить модуль npm install -g auto-install. Затем запустите npm init и выполните основные требования.

Затем запустите auto-install в корневом каталоге вашего проекта. Все зависимости должны отражаться в файле package.json.

**

Или установите модули узлов прямо из package-lock.json

**

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

Больше информации

npm ci всегда сообщает мне «добавлено 0 пакетов», а auto-installпереписал мой пакет-lock.json, установил 2 случайных пакета и остановился на «Инициализированы наблюдатели» ... Папка node_modules была создана, но только с этими двумя пакетами ... Рад, что у меня была резервная копия блокировки :(
CPHPython 12.04.2019 15:24
npm ciзависит от на package.json, поэтому его нельзя использовать только с package-lock.json.
Kos 11.04.2020 23:36

Думаю, я разобрался.

Я не думаю, что 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, поэтому я не мог перестроить и развернуть. Это было идеальное решение моей проблемы.

billoverton 28.02.2020 21:22

Это прекрасный комментарий ситуации, но он не имеет ничего общего с ответом на вопрос: How do I install the node modules with just the package-lock.json file

Kos 11.04.2020 23:34

https://pravnyadv.github.io/unpackage/ вроде работает. Скопируйте текст файла блокировки пакета, нажмите кнопку, скопируйте текст в новый файл package.json.

Это идеальное решение

migli 04.04.2021 07:50

Другие вопросы по теме