You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter翻译程序运行报错:Translate类初始化失败及空安全问题求助

问题描述

我在运行翻译程序时,以下代码行出现报错:

Translate _translate = new Translate(); 

已导入对应库:

import 'package:translate/translate.dart'; 

项目依赖配置如下:

dependencies:
  flutter:
    sdk: flutter
  google_maps_flutter: ^2.2.3
  google_maps_controller: ^1.2.0
  geolocator: ^9.0.2
  speech_to_text: ^6.1.1
  flutter_tts: ^3.6.3
  flutter_translate: ^4.0.3
  translate: ^1.0.0
  translator: ^0.1.7

translate: ^1.0.0

运行代码后出现的错误信息:

Error: Cannot run with sound null safety, because the following dependencies don't support null safety:

  • package:translate

lib/main.dart:44:3: Error: Type 'Translate' not found.
Translate _translate = new Translate();
^^^^^^^^^
lib/main.dart:44:3: Error: 'Translate' isn't a type.
Translate _translate = new Translate();
^^^^^^^^^
lib/main.dart:44:30: Error: Couldn't find constructor 'Translate'.
Translate _translate = new Translate();
^^^^^^^^^
Unhandled exception:
Bad state: Unsupported Null Safety mode NonNullableByDefaultCompiledMode.Invalid, in null.
#0 ProgramCompiler.emitModule (package:dev_compiler/src/kernel/compiler.dart:484:9)
#1 JavaScriptBundler.compile (package:frontend_server/src/javascript_bundle.dart:153:33)
#2 FrontendCompiler.writeJavascriptBundle (package:frontend_server/frontend_server.dart:705:47)

#3 FrontendCompiler.compile (package:frontend_server/frontend_server.dart:612:9)

#4 listenAndCompile. (package:frontend_server/frontend_server.dart:1210:11)

Finished with error: the Dart compiler exited unexpectedly.
Failed to compile application.

解决方案

1. 替换为支持空安全的翻译包

translate: ^1.0.0既不支持空安全,且其API结构和当前调用方式不匹配。你已经在依赖中添加了translator包,建议改用它:

  • 修改导入语句:
    import 'package:translator/translator.dart';
    
  • 修改初始化代码:
    GoogleTranslator _translate = GoogleTranslator();
    

这个包的API更成熟,且支持空安全,能直接避免当前的编译错误。

2. 清理重复的依赖配置

你的pubspec.yaml中重复声明了translate: ^1.0.0,删除重复的那一行,保持依赖配置的简洁性。

3. (不推荐)关闭空安全运行

如果一定要继续使用translate包,可以通过关闭空安全来运行项目:

  • 运行项目时执行:flutter run --no-sound-null-safety
  • 编译项目时执行:flutter build --no-sound-null-safety
    但这种方式会放弃Dart的空安全特性,增加代码出现空指针异常的风险,不建议长期使用。

内容的提问来源于stack exchange,提问作者Amir RL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 18:05:22