Flutter Null安全迁移
我正试图将我的项目迁移到Flutter Null安全版,我正在遵循这份官方迁移指南。
当我运行第二个命令时,它说Package doesn't exist (the Flutter SDK is not available).
我运行的命令
me@My-MacBook-Airmy_project%dart --version
Dart SDK version: 2.12.0 (stable) (Thu Feb 25 19:50:53 2021 +0100) on "macos_x64"
me@My-MacBook-Airmy_project%dart pub outdated --mode=null-safety
Package doesn't exist (the Flutter SDK is not available).
Flutter Doctor输出
me@My-MacBook-Air my_project % `flutter doctor -v`
Flutter (Channel beta, 2.0.2, on macOS 11.2.3 20D91 darwin-x64, locale en-IN)
• Flutter version 2.0.2 at /Users/me/flutter
• Framework revision 8962f6dc68 (9 days ago), 2021-03-11 13:22:20 -0800
• Engine revision 5d8bf811b3
• Dart version 2.12.1
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
• Android SDK at /Users/me/Library/Android/sdk
• Platform android-30, build-tools 30.0.2
• ANDROID_HOME = /Users/me/Library/Android/sdk
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 12.4, Build version 12D4e
• CocoaPods version 1.10.1
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 4.1)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
[✓] VS Code (version 1.51.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.17.0
[✓] Connected device (2 available)
• macOS (desktop) • macos • darwin-x64 • macOS 11.2.3 20D91 darwin-x64
• Chrome (web) • chrome • web-javascript • Google Chrome 89.0.4389.90
• No issues found!
尝试flutter pub outdated --mode=null-safety
,应该会显示包的依赖项的迁移状态。
这里看不到任何明显的内容,该命令只是一个查找。当所有包都支持null安全性并且其他命令都在工作时,您仍然可以检查pub.dev手册上的所有依赖项。
我只有一个想法,测试版通道在大多数情况下应该是好的,但如果什么都不起作用,就切换到稳定的
flutter channel stable
确保运行flutter upgrade
首次运行:
dart pub outdated --mode=null-safety
并且要将您的包升级为空安全变体,请运行:
dart pub upgrade --null-safety