获取错误:"目标dart2js失败:异常:警告:"dart2js"入口点脚本已弃用,请改用"dart compile js""

bmp9r5qi  于 2023-01-15  发布在  其他
关注(0)|答案(6)|浏览(171)

我尝试使用flutter build web在发布模式下构建flutter web应用程序(也尝试过flutter build web --no-sound-null-safety)。当我这样做时,我得到下面的错误。

D:\saves\reset_password>flutter build web

Building without sound null safety
For more information see https://dart.dev/null-safety/unsound-null-safety

Target dart2js failed: Exception: Warning: The 'dart2js' entrypoint script is deprecated, please use 'dart compile js' instead.
.dart_tool/flutter_build/1916f9367c0e6ad6c929bd88cf5227e5/web_plugin_registrant.dart:14:38:
Error: Null safety features are disabled for this library.
void registerPlugins([final Registrar? pluginRegistrar]) {
                                     ^
Error: Compilation failed.

Compiling lib\main.dart for the Web...                             44.9s
Exception: Failed to compile application for the Web.

当我使用flutter run直接在调试模式下运行它时,它工作正常。我最近升级到flutter 3. 0和im使用Android studio。下面是我的flutter doctor(我知道android工具丢失了。因为我是为web构建的,所以我没有太注意它)

D:\saves\reset_password>flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel master, 3.1.0-0.0.pre.966, on Microsoft Windows [Version 10.0.19044.1706], locale en-IN)
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    X cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    X Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/windows#android-setup for more details.
[√] Chrome - develop for the web
[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.8.5)
[√] Android Studio (version 4.1)
[√] VS Code (version 1.66.2)
[√] Connected device (3 available)
[√] HTTP Host Availability

! Doctor found issues in 1 category.
hgb9j2n6

hgb9j2n61#

对我来说,解决方案是在cmd/终端上启动flutter clean && flutter pub get

zynd9foi

zynd9foi2#

flutter build web在我的本地工作,但不在我的服务器上,sudo reboot后,它再次工作。上面的sugestet答案对我不起作用...

zvms9eto

zvms9eto3#

我也遇到过类似的问题,它是在基于Ubuntu的服务器上。
在我的情况下,我有:
目标dart 2 js失败:异常:警告:“dart 2 js”入口点脚本已弃用,请改用“dart compile js”。flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth_web-3.3.19/lib/firebase_auth_web.dart:402:16:错误:方法“FirebaseAuthWeb.verifyPhoneNumber”的命名参数比覆盖方法“FirebaseAuthPlatform. verifyPhoneNumber”的命名参数少...
我发现一个firebase_auth_web依赖项有一个过时的版本,并且没有在项目中使用。因此我删除了这个依赖项。之后问题就消失了。

gblwokeq

gblwokeq4#

此问题的修复程序现在可在稳定通道3.3.0上获得。这是由于3.0版本之一中的更改将null安全功能添加到Web插件注册程序中。任何没有null安全的Web项目都将受到影响。

slwdgvem

slwdgvem5#

删除/flutter/bin/cache文件夹。
运行flutter doctor
然后,运行flutter cleanflutter pub getflutter build web

ybzsozfc

ybzsozfc6#

我自己修复了这个错误。以下是我所做的:
我发现pubspec.yaml文件中有一些当前未使用的依赖项。我导航到我的.dart_tool\flutter_build\cb8031cdd1bfbcb95122aae4ad9a63d5\web_plugin_registrant.dart,发现这些依赖项正在registerPlugins()中引用。
我清除了registerPlugins()中显示的所有未使用的依赖项,并执行了以下步骤:

  1. x一米四英寸1 x 2. x一米五英寸1 x 3. x一米六英寸1 x
    还有VIOLA!错误消失了,我把我的文件放在build\web文件夹里了。

相关问题