首页 > 解决方案 > 全新 Flutter 和 Dart 安装时的构建错误(导入错误)

问题描述

我是 Flutter 的新手,从零开始用 Dart 安装它。当我构建这样的基本示例时:

    import 'packafe:flutter/material.dart';

void main(){
  runApp(
    title: "Mi Primer Aplicación",
    home: new Scaffold(
       appbar: new AppBar(
         title: new Text("Mi Primer aplicación")
       ), // AppBar
       body: new Container(
        child: new Center(
          child: new text("Hello World")
        ) // Center
       )
    )
  )
}

我收到此错误,我不得不说我可以运行您在创建新的 Flutter 项目时获得的示例。

Invalid depfile: C:\Users\rodri\Documents\Cursos\Proyectos Flutter - Dart\primer_app_bien\.dart_tool\flutter_build\2b50f4f217897948359897bb9975b24c\kernel_snapshot.d
Invalid depfile: C:\Users\rodri\Documents\Cursos\Proyectos Flutter - Dart\primer_app_bien\.dart_tool\flutter_build\2b50f4f217897948359897bb9975b24c\kernel_snapshot.d
lib/main.dart:1:8: Error: Error when reading 'packafe:flutter/material.dart': StandardFileSystem only supports file:* and data:* URIs
import 'packafe:flutter/material.dart';
       ^
lib/main.dart:8:21: Error: Method not found: 'Text'.
         title: new Text("Mi Primer aplicación")
                    ^^^^
lib/main.dart:7:20: Error: Method not found: 'AppBar'.
       appbar: new AppBar(
                   ^^^^^^
lib/main.dart:12:22: Error: Method not found: 'text'.

这是我第一次安装 Flutter、Dart、Android Studio 和 Visual Code

标签: flutterdart

解决方案


您需要将material包导入 other 才能Material在应用程序中使用小部件。

在您的导入语句中,您拼写packagepackafe哪个是错误的。

我添加了一个工作代码(以您的代码为例),用您的代码替换它:

// import the package correctly
import 'package:flutter/material.dart'; // new line

// main method
void main() {
  runApp(MyApp());
}


// create a stateless widget and build your widget tree
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: new Text("Mi Primer aplicación")), // AppBar
        body: Container(
          child: Center(
            child: Text("Hello World"),
          ), // Center
        ),
      ),
    );
  }
}

注意:在Dart 2 中(点击查看更多信息的公告)new关键字是可选的。

这意味着new Container()与 完全相同Container()


推荐阅读