После обновления с Angular 12 до 13 кэш слишком велик для Github

0

Вопрос

Недавно я обновил все свои зависимости в файле package.json до последней версии. Я перешел с углового 12.2.0 на 13.0.1, и теперь github отклоняет мой запрос со следующей ошибкой размера файла. Есть ли какие-то настройки, которые мне нужно определить в профиле сборки angular.json, которые помогут минимизировать эти размеры файлов кэша?

remote: warning: File .angular/cache/angular-webpack/72163742903fc8ba00e684045de261c2e3a2fb86/3.pack is 54.01 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB
remote: warning: File .angular/cache/angular-webpack/72163742903fc8ba00e684045de261c2e3a2fb86/2.pack is 56.42 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB
remote: error: Trace: 0b9557fffbe30aac33f6d9858ef97559341c5c1614ace35524fcba85ac99ca76
remote: error: See http://git.io/iEPt8g for more information.
remote: error: File .angular/cache/angular-webpack/72163742903fc8ba00e684045de261c2e3a2fb86/3.pack is 122.06 MB; this exceeds GitHub's file size limit of 100.00 MB
remote: error: File .angular/cache/angular-webpack/72163742903fc8ba00e684045de261c2e3a2fb86/5.pack is 123.92 MB; this exceeds GitHub's file size limit of 100.00 MB
remote: error: File .angular/cache/angular-webpack/f48e9bc724ec0d5ae9a9d2fed858970d0a503f10/0.pack is 154.05 MB; this exceeds GitHub's file size limit of 100.00 MB
remote: error: File .angular/cache/angular-webpack/9327900b3187f0b6351b4801d208e7b58f1af17e/0.pack is 165.50 MB; this exceeds GitHub's file size limit of 100.00 MB
remote: error: File .angular/cache/angular-webpack/663bcd30d50863949acf1c25f02b95cab85c248a/0.pack is 151.56 MB; this exceeds GitHub's file size limit of 100.00 MB
remote: error: File .angular/cache/angular-webpack/663bcd30d50863949acf1c25f02b95cab85c248a/0.pack is 151.55 MB; this exceeds GitHub's file size limit of 100.00 MB
remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.

Редактировать:

  1. Я создал это репо с помощью Angular cli и поддерживал и обновлял многие версии Angular, и до этого последнего обновления у меня не было проблем.

  2. Файл .gitignore находится в корневой папке приложения и соответствует предложенному примеру: enter image description here

  3. При добавлении /.angular/cache в файл gitignore я запускаю git rm -rf --cached . && git add . && git commit -m 'fix(gitignore): add angular cache' && git push --set-upstream origin chore/bump-deps но все равно получаю ошибку размера файла.

angular github
2021-11-23 21:27:42
1

Лучший ответ

7

Убедитесь, что ваш .gitignore находится в родительской папке .angular.
В этом .gitignore файл, простой .angular/cache/ должно быть достаточно, чтобы игнорировать содержимое этой подпапки.

Проверьте это с помощью:

git check-ignore -v -- .angular/cache/angular-webpack/72163742903fc8ba00e684045de261c2e3a2fb86/2.pack

Вы можете увидеть пример вganatan/angular-starter/.gitignore (из примера начального проекта Angular 13), где /.angular/cache/ используется для привязки правила к верхней папке репозитория.

В ОП С. Тейлор подтверждает в комментариях:

Я почти уверен, что это была моя проблема.
Я отказался от dev ветвление и обновление моих зависимостей без использования составных команд, таких как git add . && git commit -m 'fix(gitignore): add angular cache'.
Обязательно отметьте, что было инсценировано.

2021-11-24 16:53:30

Спасибо за ответ @VonC. Команда check-ignore, похоже, сообщает, что файл игнорируется правилом в строке 35, /.angular/cache , но я все равно получаю предупреждение о размере: $ git check-ignore -v -- .angular/cache/angular-webpack/72163742903fc8ba00e684045de261c2e3a2fb86/2.pack .gitignore:35:/.angular/cache .angular/cache/angular-webpack/72163742903fc8ba00e684045de261c2e3a2fb86/2.pack
S. Taylor

@S.Тейлор Возможно, что папка была отслежена ранее в прошлом фиксации, и именно эта фиксация запускает сообщение об ошибке во время git push. Установите git-sizer, затем, как только большая фиксация идентифицирована с git-sizer, удалите фиксацию с помощью репо-фильтра git, как описано в stackoverflow.com/a/66452371/6309. git-сайзер в Windows (должны ли вы быть в Windows): stackoverflow.com/a/66452371/6309
VonC

Спасибо @VonC, я почти уверен, что это была моя проблема. Я не хотел устанавливать git-sizer, если бы мог этого избежать, поэтому я отказался от ветки разработки и обновил свои зависимости, не используя составные команды, такие как git add . && git commit -m 'fix(gitignore): add angular cache'. Обязательно отметьте, что было инсценировано.
S. Taylor

@S.Тейлор Идеален, звучит неплохо. Я включил ваш комментарий в ответ для большей наглядности.
VonC

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................