Как установить пакеты на основе файла блокировки с помощью Yarn? - PullRequest
0 голосов
/ 03 октября 2018

Мы используем пряжу для установки зависимостей.Файл блокировки пряжи находится в репо.Если сравнивать с composer для php, я ожидаю, что при запуске yarn install зависимости будут установлены на основе файла блокировки, а файл блокировки не изменится.

С composer install для phpВы всегда устанавливаете одну и ту же версию для каждого пакета в любой среде.Я не понимаю, почему пряжа не работает подобным образом.

Я думаю, что с yarn install блокировка обновляется слишком часто, и файл теряет свою точку зрения, поскольку фактически не блокирует версии.Или я использую неправильные команды?

Ответы [ 2 ]

0 голосов
/ 25 апреля 2019

Проверьте документацию: https://yarnpkg.com/en/docs/cli/install

Установка пряжи используется как для установки пакетов из package.json, так и для установки из yarn.lock.Наличие файла yarn.lock определяет, будет ли это операция установки или обновления.

yarn install Установите все зависимости, перечисленные в package.json, в локальную папку node_modules.

Файл yarn.lock используется следующим образом:

Если пряжа.lock присутствует и достаточно для удовлетворения всех зависимостей, перечисленных в package.json, точные версии, записанные в yarn.lock, установлены, и yarn.lock не изменится.Пряжа не будет проверять наличие новых версий.Если yarn.lock отсутствует или его недостаточно для удовлетворения всех зависимостей, перечисленных в package.json (например, если вы вручную добавляете зависимость в package.json), Yarn ищет новейшие доступные версии, которые удовлетворяют ограничениям в пакете.json.Результаты записываются в yarn.lock.

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

Файл блокировки Yarn будет работать так, как вы объяснили. Ваш файл yarn.lock генерируется автоматически и должен полностью обрабатываться Yarn.Когда вы добавляете / обновляете / удаляете зависимости с помощью интерфейса Yarn, он автоматически обновляет ваш файл yarn.lock.

...