Почему мои тесты завершаются с ошибкой при `rush install`, но запускаются после выполнения` rush update --recheck/full`?
Мы начали использовать Rush ранее этим летом, а недавно мы начали получать проблемы с невоспроизводимыми ошибками тестов, которые варьировались в зависимости от машины. Тесты пройдут на одной машине (rush update; npm test
), сбой на сервере CI (bundles/rush.js install; npm test
) и сбой на другом компьютере разработчика (rush update; npm test
).
Мы не могли понять почему (и до сих пор не понимаем). Затем я попытался воспроизвести сбои сервера CI, удалив node_modules и запустив
rush install
. Это "сработало" при воспроизведении проблемы, как и при неудачных тестах. Делать
rush update
впоследствии не оказало никакого эффекта, но когда я сделал
rush update --recheck
тесты прошли! То же самое, если я удалил все
node_modules
папки и запустил
rush update --full
.
Поэтому я ожидал, что некоторые файлы будут изменены, но
git status
не показал изменений. Когда я сделал
recheck
шаг, я видел это:
dependencies:
- styled-components 5.1.1
+ styled-components 5.1.1
Updating /home/myuser/dev/nicecorp/common/config/rush/pnpm-lock.yaml
Это означает, что этот файл нужно было изменить, но он остался прежним. Я также не понимаю, почему он показал, что он изменил зависимость с той же зависимостью...
Так что же отличает эти запуски и почему в файловой системе нет следов этого в виде обновленных файлов блокировки?