изменить пакет-блокировку. json пакет обратно на исходную версию репо - PullRequest
0 голосов
/ 08 января 2020

Я работаю над запросом git pull для Mocha.

Я сталкиваюсь с ошибкой, связанной с моим файлом package-lock. json файл, в котором я случайно обновил пакет regex от 2.1.1 до 3.0.0

У меня сейчас есть проблемы с возвращением этой версии к ее оригиналу, что было запрошено владельцами репо.

Основная проблема, с которой я сталкиваюсь, заключается в том, что этот пакет npm существует только в пакете блокировки

 "ansi-regex": {
      "version": "3.0.0",
      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
      "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
    },

, он не существует внутри основного пакета. json файл.

В ходе исследований я обнаружил, что не предлагается удалять файл блокировки пакета и восстанавливать его с помощью npm i, поскольку это может внести еще больше изменений.

Я также попробовал команду:

git checkout --theirs package-lock.json
git add package-lock.json 

Но версия остается 3.0.0

Я также пытался запустить

npm uninstall --save ansi-regex@3.0.0 -package-lock.json

Чтобы вручную удалить файл, но Команда завершается без удаления каких-либо пакетов.

Я не уверен, как вернуть эту версию к первоначальной настройке владельцами репозитория, и мог бы действительно использовать некоторую помощь для определения следующих шагов.

Спасибо

Ответы [ 2 ]

1 голос
/ 09 января 2020

Вам необходимо найти идентификатор коммита перед тем, где вы изменили package-lock.json, и восстановить содержимое package-lock.json из этого коммита.


С помощью командной строки (открыть git-bash например):

  • Вы можете просмотреть список коммитов, которые изменили package-lock.json, используя:

    git log package-lock.json
    
  • Вы можете установить package-lock.json вернуться к своей версии в commit [ID] используя:

    git checkout [ID] -- package-lock.json
    

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

0 голосов
/ 08 января 2020

Установите точные версии, которые вам нужны в пакете. json, затем просто запустите npm install. Он должен восстановить ваш файл блокировки пакета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...