#flutter #upgrade
#flutter #Обновление
Вопрос:
Обновление Flutter SDK и пакетов
My-Mac:~ admin$ flutter upgrade
Upgrading Flutter from /Users/admin/Desktop/SDK/flutter...
error: Your local changes to the following files would be overwritten by merge:
packages/flutter/lib/src/services/message_codecs.dart
Please commit your changes or stash them before you merge.
Aborting
Updating 2eeeXXXe9..7XXXbf4aX
Я перешел на flutter SDK и проверил status
и получил следующие данные
My-Mac:flutter admin$ git status
On branch master
Your branch is behind 'origin/master' by 565 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: dev/automated_tests/pubspec.yaml
modified: dev/benchmarks/complex_layout/pubspec.yaml
modified: dev/benchmarks/macrobenchmarks/pubspec.yaml
modified: dev/benchmarks/microbenchmarks/pubspec.yaml
modified: dev/bots/pubspec.yaml
modified: dev/devicelab/pubspec.yaml
modified: dev/integration_tests/android_semantics_testing/pubspec.yaml
modified: dev/integration_tests/android_views/pubspec.yaml
modified: dev/integration_tests/channels/pubspec.yaml
modified: dev/integration_tests/external_ui/pubspec.yaml
modified: dev/integration_tests/flavors/pubspec.yaml
modified: dev/integration_tests/platform_interaction/pubspec.yaml
modified: dev/integration_tests/ui/pubspec.yaml
modified: dev/manual_tests/pubspec.yaml
modified: dev/snippets/pubspec.yaml
modified: dev/tools/pubspec.yaml
modified: dev/tools/vitool/pubspec.yaml
modified: examples/catalog/pubspec.yaml
modified: examples/flutter_gallery/pubspec.yaml
modified: examples/hello_world/pubspec.yaml
modified: examples/layers/pubspec.yaml
modified: examples/platform_channel/pubspec.yaml
modified: examples/platform_channel_swift/pubspec.yaml
modified: examples/stocks/pubspec.yaml
modified: packages/flutter/lib/src/services/message_codecs.dart
modified: packages/flutter/pubspec.yaml
modified: packages/flutter_driver/pubspec.yaml
modified: packages/flutter_goldens/pubspec.yaml
modified: packages/flutter_localizations/pubspec.yaml
modified: packages/flutter_test/pubspec.yaml
modified: packages/flutter_tools/pubspec.yaml
modified: packages/fuchsia_remote_debug_protocol/pubspec.yaml
Untracked files:
(use "git add <file>..." to include in what will be committed)
OLDSDK.zip
no changes added to commit (use "git add" and/or "git commit -a")
После выполнения вышеуказанной задачи теперь попробуйте снова обновить Flutter, но снова появилась ошибка, упомянутая ниже
My-Mac:flutter admin$ flutter upgrade
Building flutter tool...
Because flutter_tools depends on sockjs_client 0.3.5 which doesn't match any versions, version solving failed.
Error: Unable to 'pub upgrade' flutter tool. Retrying in five seconds... (9 tries left)
.
.
Error: Unable to 'pub upgrade' flutter tool. Retrying in five seconds... (1 tries left)
Command 'pub upgrade' still failed after 10 tries, giving up.
Ответ №1:
Flutter использует git для управления SDK. Вам нужно будет просмотреть свой репозиторий, расположенный в $ HOME / development / flutter. Вы можете использовать команду git для проверки статуса повторной публикации. Например,
$ git status
Чтобы увидеть ваши локальные изменения
$ git branch
Чтобы увидеть, какую ветку вы используете.
Следующие шаги могут помочь вам, когда вы обнаружите, что изменили что-то незафиксированное, но вы хотели бы отменить все изменения, чтобы просто переключиться на последнюю версию (master).
$ git reset --hard HEAD
Чтобы отменить все ваши изменения.
$ git checkout master
Для переключения на главную ветку
$ git pull
Чтобы отключить и синхронизировать все фиксации на сервере.
Ответ №2:
У вас есть некоторые несогласованные изменения в flutter SDK, если вы хотите удалить эти изменения и обновить flutter, вы можете выполнить принудительное обновление
flutter upgrade -f
Принудительно обновите ветку flutter, потенциально отбрасывая локальные изменения.
Комментарии:
1. Это работает только при наличии новой версии. Если вы используете последнюю версию, это ничего не делает,.
2. В итоге у меня это сработало
3. @under когда вы уже используете последнюю версию, что это должно делать?
Ответ №3:
Возможно, вы случайно отредактировали код flutter.
Чтобы исправить это, перейдите в свою папку flutter, это должно быть /Users / admin / Desktop / SDK / flutter
и проверьте любые изменения с помощью run
git status
Если что-то изменится, в вашем случае вы внесли изменения в packages / flutter / lib / src / services / message_codecs.dart, просто отмените это с помощью :
git checkout -- packages/flutter/lib/src/services/message_codecs.dart