yarn.lock или package-json.lock в проекте есть?
Package json
А с перечисленных?
обсудили уже ниже по треду, там зависимости нестрого фиксированы в package.json
Они фиксируются строго в локах
если там ^ или ~ - не очень строго учитывая что semver только рекомендация
папка проекта
из package-lock.json, откатившись сначала до состояния чистой ветки репозитория, перенесите для всех модулей из package.json версии модулей (строго без спецсимволов) и переустановите
Так они и так возьмутся оттуда ) и без разницы что там в package.json написано
там всё не настолько прилично, как кажется https://habr.com/ru/companies/nlmk/articles/680316/ поэтому только строгое соответствие в package.json даёт 100% гарантию что в lock файле будет именно та версия зависимости, которая нужна (независимо от используемого менеджера пакетов - npm yarn и т.д.)
Мой основной посыл в том, что если файл есть, то и с версиями всё впорядке. Так как этот файл показатель того, что версии были “залочены” в моменте, когда предыдущий разработчик их устанавливал.
У меня было подобное, если lock файл создал для npm (package-lock.json) а зависимости ставлю через yarn. Уверен что с этим всё впорядке?
через yarn install прошел нормальо
Ты должен использовать npm, если у тебя package-lock.json в проекте.
я дулали и пересобрал на yarn
у yarn, кстати, не так (тестировал на 1.22.19) при установке/переустановке пакетов подтягивается самая свежая, попадающая под semver, версия у npm (проверял на 9.6.7) вроде бы сохраняется (независимо от того, ставим начисто или переустанавливаем), если в lock файле указана версия, уже попадающая под правило но не факт что в других (предыдущих) версиях поведение аналогичное
Тогда в чём смысл ^ и ~ для npm? Если установится та же версия 🤔 UDP: я понял, это ты про случай, когда уже X зависимость установил другой пакет.
вот тоже пока не понимаю логику npm есть package-lock в котором на момент установки фиксирована версия lodash “4.10” (она же указана в package.json) удаляем node_modules, оставляем lock, npm i - версия та же меняем версию в package.json на “^4.10” или “^4.1” и выполняем предыдущие действия, в package.lock версия остается той же что и ранее
Обсуждают сегодня