Flutter Web的颤振构建-“;未能编译应用程序“;
我已经为我的项目启用了web支持,在运行Flutter Web的颤振构建-“;未能编译应用程序“;,flutter,dart,flutter-web,Flutter,Dart,Flutter Web,我已经为我的项目启用了web支持,在运行flatter run-d chrome之后,我得到以下错误: Launching lib/main.dart on Chrome in debug mode... Syncing files to device Chrome...
flatter run-d chrome
之后,我得到以下错误:
Launching lib/main.dart on Chrome in debug mode...
Syncing files to device Chrome...
Compiler message:
../../flutter/.pub-cache/hosted/pub.dartlang.org/google_sign_in_web-0.8.3+1/lib/src/generated/gapiauth2.dart:26:3: Error: JS interop classes do not support non-external constructors.
Try annotating with `external`.
GoogleAuth.fakeConstructor$();
^
../../flutter/.pub-cache/hosted/pub.dartlang.org/google_sign_in_web-0.8.3+1/lib/src/generated/gapiauth2.dart:216:3: Error: JS interop classes do not support non-external constructors.
Try annotating with `external`.
SigninOptionsBuilder.fakeConstructor$();
^
../../flutter/.pub-cache/hosted/pub.dartlang.org/google_sign_in_web-0.8.3+1/lib/src/generated/gapi.dart:351:3: Error: JS interop classes do not support non-external constructors.
Try annotating with `external`.
HttpRequestPromise.fakeConstructor$();
^
../../flutter/.pub-cache/hosted/pub.dartlang.org/google_sign_in_web-0.8.3+1/lib/src/generated/gapi.dart:378:3: Error: JS interop classes do not support non-external constructors.
Try annotating with `external`.
HttpRequest.fakeConstructor$() : super.fakeConstructor$();
^
../../flutter/.pub-cache/hosted/pub.dartlang.org/google_sign_in_web-0.8.3+1/lib/src/generated/gapi.dart:402:3: Error: JS interop classes do not support non-external constructors.
Try annotating with `external`.
HttpBatch.fakeConstructor$();
^
../../flutter/.pub-cache/hosted/pub.dartlang.org/google_sign_in_web-0.8.3+1/lib/src/generated/gapi.dart:440:3: Error: JS interop classes do not support non-external constructors.
Try annotating with `external`.
RpcRequest.fakeConstructor$();
^
Syncing files to device Chrome... 19,442ms (!)
Failed to compile application.
Tals-Macbook:matkonit talbarda$ flutter run -d chrome
Launching lib/main.dart on Chrome in debug mode...
Syncing files to device Chrome...
Compiler message:
../../flutter/.pub-cache/hosted/pub.dartlang.org/google_sign_in_web-0.8.3+1/lib/src/generated/gapiauth2.dart:26:3: Error: JS interop classes do not support non-external constructors.
Try annotating with `external`.
GoogleAuth.fakeConstructor$();
^
../../flutter/.pub-cache/hosted/pub.dartlang.org/google_sign_in_web-0.8.3+1/lib/src/generated/gapiauth2.dart:216:3: Error: JS interop classes do not support non-external constructors.
Try annotating with `external`.
SigninOptionsBuilder.fakeConstructor$();
^
../../flutter/.pub-cache/hosted/pub.dartlang.org/google_sign_in_web-0.8.3+1/lib/src/generated/gapi.dart:351:3: Error: JS interop classes do not support non-external constructors.
Try annotating with `external`.
HttpRequestPromise.fakeConstructor$();
^
../../flutter/.pub-cache/hosted/pub.dartlang.org/google_sign_in_web-0.8.3+1/lib/src/generated/gapi.dart:378:3: Error: JS interop classes do not support non-external constructors.
Try annotating with `external`.
HttpRequest.fakeConstructor$() : super.fakeConstructor$();
^
../../flutter/.pub-cache/hosted/pub.dartlang.org/google_sign_in_web-0.8.3+1/lib/src/generated/gapi.dart:402:3: Error: JS interop classes do not support non-external constructors.
Try annotating with `external`.
HttpBatch.fakeConstructor$();
^
../../flutter/.pub-cache/hosted/pub.dartlang.org/google_sign_in_web-0.8.3+1/lib/src/generated/gapi.dart:440:3: Error: JS interop classes do not support non-external constructors.
Try annotating with `external`.
RpcRequest.fakeConstructor$();
^
Syncing files to device Chrome... 17,899ms (!)
Failed to compile application.
如何修复此问题?改为转到beta频道
颤振通道测试版我注意到这个问题在google\u web 0.9.0中得到了修复。因此,请更改pubspec.yaml文件中的版本
google_sign_in_web: ^0.9.1
2020年4月20日更新:如果您对谷歌登录有依赖关系,请在pubspec.yaml文件中更改该版本
google_sign_in: 4.4.3
之前:
然而,当你像我一样,对谷歌登录有依赖时,你还有更多的东西需要改变。。。
如果将google_sign_in_web更改为0.9.0,并将google_sign_in的版本更改为4.4.1,则检索包将失败:
Because ${your_project_name} depends on google_sign_in 4.4.1 which depends on google_sign_in_web ^0.8.2, google_sign_in_web ^0.8.2 is required.
So, because ${your_project_name} depends on google_sign_in_web ^0.9.0, version solving failed.
pub get failed (1; So, because ${your_project_name} depends on google_sign_in_web ^0.9.0, version solving failed.)
在这种情况下,您必须等待google_登录升级(我创建了pull请求),或者暂时像我一样执行以下操作:
1) 从中克隆flatter插件
2) 在/src/plugins/plugins/packages/google\u sign\u in/google\u sign\u in/pubspec.yaml中更改文件pubspec.yaml
google_sign_in_web: ^0.9.0
3) 更改项目中的依赖项以指向更改后的google\u登录版本,即
google_sign_in:
path: ../../flutter/plugins/packages/google_sign_in/google_sign_in
google_sign_in_web: ^0.9.0
出于某些原因,较新版本的颤振不再支持此格式的依赖项:
折叠单元:“^0.1.2”
相反,请检查您的pubspec.yaml并将该格式的任何依赖项更改为:
折叠单元:^1.0.0
我以折叠单元为例。
这为我解决了问题,希望对别人有所帮助
google_sign_in:
path: ../../flutter/plugins/packages/google_sign_in/google_sign_in
google_sign_in_web: ^0.9.0