В проекте я заменил npm на yarn, чтобы воспользоваться его преимуществами, а также обеспечить блокировку наших зависимостей с помощью yarn.lock
.
Теперь разработчик добавил библиотеку с npm@4, которая изменила только package.json
, а не yarn.lock
, конечно.
Я ожидал, что команда yarn install
вылетит на сервере сборки, но у пряжи есть — для меня неожиданное — добавление этих библиотек в их самой последней версии, а затем обновление yarn.lock
на удаленном сервере:
$ yarn install
[1/4] Resolving packages...
[2/4] Fetching packages...
warning [email protected]: The platform "linux" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved lockfile.
Done in 5.07s.
Это противоречит цели пряжи, так как задание сборки не отправляет yarn.lock
обратно в репозиторий и не должно этого делать.
Я хочу, чтобы каждый разработчик отвечал за версию, которую он проверяет.
Следовательно, есть ли способ завершить работу yarn install
с кодом ошибки, если package.json
и yarn.lock
не синхронизированы?