Flutter 错误:找不到 Getter:english_words.dart 包中的“wordPair”

Posted

技术标签:

【中文标题】Flutter 错误:找不到 Getter:english_words.dart 包中的“wordPair”【英文标题】:Flutter Error: Getter not found: 'wordPair' in english_words.dart package 【发布时间】:2020-06-06 16:46:09 【问题描述】:

我最近开始学习颤振。我正在研究 'package:english_words/english_words.dart' 包。我通过在依赖项中添加 'english_words: ^3.1.0 和 main.dart 文件 child:Text(wordPair.asPascalCase) 来修改 pubspec.yaml 文件已成功导入它会引发错误。我运行后得到的输出是:

编译器消息: lib/main.dart:17:23:错误:找不到获取器:'wordPair'。

目标 kernel_snapshot 失败:异常:快照创建期间出错:null 构建失败。

FAILURE:构建失败并出现异常。

在哪里: 脚本 'C:\flutter\packages\flutter_tools\gradle\flutter.gradle' 行:780

出了什么问题: 任务 ':app:compileFlutterBuildDebug' 执行失败。 进程 'command 'C:\flutter\bin\flutter.bat'' 以非零退出值 1 结束

这是我的代码:

import 'package:flutter/material.dart';
import 'package:english_words/english_words.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget 
  @override
  Widget build(BuildContext context) 
    return MaterialApp(
      title: 'Welcome to Flutter',
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Welcome to Flutter'),
        ),
        body: const Center(
          child: Text(wordPair.asPascalCase),
        ),
      ),
    );
  

我的english.dart 文件是

/// Support for working with English text.
library english_words;

export 'src/syllables.dart';
export 'src/word_pair.dart';
export 'src/words/adjectives.dart';
export 'src/words/all.dart';
export 'src/words/nouns.dart';

【问题讨论】:

你能给我们看看你的english_words.dart文件吗? 所以word_pair.dart 包含asPascalCase 方法?它的结构如何? 【参考方案1】:

这个文件来自flutter包,你不用修改它。

library english_words;

export 'src/syllables.dart';
export 'src/word_pair.dart';
export 'src/words/adjectives.dart';
export 'src/words/all.dart';
export 'src/words/nouns.dart';

问题在于对english_words 包的理解。使用 wordPair 没有意义,因为您没有声明它。

您无法使用WordPair 的静态实例访问asPascalCase getter。所以你必须创建一个WordPair 的实例,然后使用pascalCase getter。

import 'package:english_words/english_words.dart';

var wordpair = WordPair("first,", "second");    
String pascalCase = wordpair.asPascalCase;

【讨论】:

感谢工作。问题是body 中的const。当我删除它并插入你的 pascalCase 变量时它可以工作。【参考方案2】:

这个问题的工作代码也可以here

【讨论】:

以上是关于Flutter 错误:找不到 Getter:english_words.dart 包中的“wordPair”的主要内容,如果未能解决你的问题,请参考以下文章

如何修复找不到 Getter:'nuutil'

Tesseract 找不到 eng.traineddata

导入错误 - 不支持语言“eng”的本地化

Flutter 致命错误:找不到“Flutter/Flutter.h”文件

Python pytesseract - 找不到 eng.traineddata - oem 2

Tesseract 找不到经过训练的数据文件