Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 这个包目录结构的非标准是什么?_Dart_Dart Editor - Fatal编程技术网

Dart 这个包目录结构的非标准是什么?

Dart 这个包目录结构的非标准是什么?,dart,dart-editor,Dart,Dart Editor,我的结构如下所示。当我从DartEditor和命令行运行dartdoc时,我会在导入时收到关于“无此类文件”的错误。当我运行我的Dart应用程序bin/ebisu.ebisu.Dart时,它工作正常。dartdoc网页上说,如果您的结构是非标准的,您可能需要指定包。我的不能是标准的,因为如果我添加--package根标志,它允许我生成文档。我认为它看起来确实很标准……我能做些什么来修复结构,从而使dartdoc和DartEditor感到高兴 其他信息:以下是说明结构的文件: bash-3.2$

我的结构如下所示。当我从DartEditor和命令行运行dartdoc时,我会在导入时收到关于“无此类文件”的错误。当我运行我的Dart应用程序bin/ebisu.ebisu.Dart时,它工作正常。dartdoc网页上说,如果您的结构是非标准的,您可能需要指定包。我的不能是标准的,因为如果我添加--package根标志,它允许我生成文档。我认为它看起来确实很标准……我能做些什么来修复结构,从而使dartdoc和DartEditor感到高兴

其他信息:以下是说明结构的文件:

bash-3.2$ find .
.
./bin
./bin/compile_dart_templates.dart
./bin/docs
./bin/ebisu.ebisu.dart
./bin/packages
./lib
./lib/ebisu.dart
./lib/ebisu_compiler.dart
./lib/ebisu_dart_meta.dart
./lib/ebisu_id.dart
./lib/ebisu_utils.dart
./lib/src
./lib/src/ebisu
./lib/src/ebisu/ebisu.dart
./lib/src/ebisu_compiler
./lib/src/ebisu_compiler/compiler.dart
./lib/src/ebisu_dart_meta
./lib/src/ebisu_dart_meta/meta.dart
./lib/src/ebisu_id
./lib/src/ebisu_id/id.dart
./lib/templates
./lib/templates/dart_meta
./lib/templates/dart_meta/app.tmpl
./lib/templates/dart_meta/class_.tmpl
./lib/templates/dart_meta/enum_.tmpl
./lib/templates/dart_meta/library.tmpl
./lib/templates/dart_meta/member.tmpl
./lib/templates/dart_meta/part.tmpl
./lib/templates/dart_meta/pubspec.tmpl
./lib/templates/dart_meta/script.tmpl
./lib/templates/dart_meta/src
./lib/templates/dart_meta/src/app.dart
./lib/templates/dart_meta/src/class_.dart
./lib/templates/dart_meta/src/enum_.dart
./lib/templates/dart_meta/src/library.dart
./lib/templates/dart_meta/src/member.dart
./lib/templates/dart_meta/src/part.dart
./lib/templates/dart_meta/src/pubspec.dart
./lib/templates/dart_meta/src/script.dart
./lib/templates/dart_meta/src/variable.dart
./lib/templates/dart_meta/variable.tmpl
./lib/templates/dart_meta.dart
./packages
./packages/ebisu
./packages/pathos
./pubspec.lock
./pubspec.yaml
./test
./test/ebisu_functions.dart
./test/packages
bash-3.2$ cat ./pubspec.yaml
name: ebisu
version: 0.0.1
description: >
  A library that supports code generation of the structure Dart (and potentially
  other languages like D) using a fairly declarative aproach.

dependencies:
  pathos:
bash-3.2$ dart bin/ebisu.ebisu.dart 
Done
bash-3.2$ dartdoc --out /tmp/docs/ebisu bin/ebisu.ebisu.dart 
Analyzing libraries...
bin/ebisu.ebisu.dart:3:8: Error: Cannot read "../../../../dart/dart-sdk/packages/ebisu/ebisu.dart" (OS Error: No such file or directory, errno = 2).
import "package:ebisu/ebisu.dart";
       ^^^^^^^^^^^^^^^^^^^^^^^^^^
Error: generation failed: Failed to create mirror system.
bash-3.2$ dartdoc --out /tmp/docs/ebisu --package-root=`pwd`/packages bin/ebisu.ebisu.dart 
Analyzing libraries...
以下是我的导入语句集:

find . -name \*dart | xargs grep "import \""
./bin/compile_dart_templates.dart:import "dart:io";
./bin/compile_dart_templates.dart:import "package:pathos/path.dart" as path;
./bin/compile_dart_templates.dart:import "package:ebisu/ebisu.dart";
./bin/compile_dart_templates.dart:import "package:ebisu/ebisu_id.dart";
./bin/compile_dart_templates.dart:import "package:ebisu/ebisu_compiler.dart";
./bin/ebisu.ebisu.dart:import "dart:io";
./bin/ebisu.ebisu.dart:import "package:pathos/path.dart" as path;
./bin/ebisu.ebisu.dart:import "package:ebisu/ebisu.dart";
./bin/ebisu.ebisu.dart:import "package:ebisu/ebisu_id.dart";
./bin/ebisu.ebisu.dart:import "package:ebisu/ebisu_dart_meta.dart";
./bin/ebisu.ebisu.dart:import "package:ebisu/ebisu_compiler.dart";
./lib/ebisu.dart:import "dart:io";
./lib/ebisu.dart:import "package:pathos/path.dart" as path;
./lib/ebisu_compiler.dart:import "dart:io";
./lib/ebisu_compiler.dart:import "package:ebisu/ebisu.dart";
./lib/ebisu_compiler.dart:import "package:pathos/path.dart" as path;
./lib/ebisu_dart_meta.dart:import "dart:io";
./lib/ebisu_dart_meta.dart:import "dart:json";
./lib/ebisu_dart_meta.dart:import "package:ebisu/ebisu.dart";
./lib/ebisu_dart_meta.dart:import "package:ebisu/ebisu_id.dart";
./lib/ebisu_dart_meta.dart:import "package:ebisu/ebisu_utils.dart" as EBISU_UTILS;
./lib/ebisu_dart_meta.dart:import "templates/dart_meta.dart" as META;
./lib/ebisu_id.dart:import "dart:io";
./lib/ebisu_id.dart:import "package:ebisu/ebisu.dart";
./lib/ebisu_id.dart:import "package:pathos/path.dart" as path;
./lib/ebisu_id.dart:import "ebisu_utils.dart" as EBISU_UTILS;
./lib/ebisu_utils.dart:import "dart:math";
./lib/src/ebisu_compiler/compiler.dart:import "package:ebisu/ebisu.dart";
./lib/src/ebisu_compiler/compiler.dart:import "package:ebisu/ebisu_dart_meta.dart";
./lib/templates/dart_meta.dart:import "package:ebisu/ebisu.dart";
./lib/templates/dart_meta.dart:import "package:ebisu/ebisu_dart_meta.dart";
./test/ebisu_functions.dart:import "package:ebisu/ebisu.dart";

不确定dartdoc的问题,但有一个指针:使用相对导入。您不需要在lib文件夹中的所有内容前面加上“package:ebisu/”。您是否尝试在bin文件夹中创建一个名为
packages
的符号链接,指向“real”packages目录?@pravelgj:相对包可以工作,但包也应该()。我根据阿穆拉夫斯基的建议选择包装,以确保一致性。我在不小心将包内的相对导入和包类型导入混合到同一dart文件时遇到问题。使用相对导入是否有好处?@MarioP:是的,bin/packages指向真实的包,因为这是成功运行命令“dart-bin/ebisu.ebisu.dart”所必需的。