我有一个简单的飞镖项目,它的文件结构如下:
darttest tree
.
├── packages
│ ├── browser -> /Users/freewind/.pub-cache/hosted/pub.dartlang.org/browser-0.5.20/lib
│ ├── meta -> /Users/freewind/.pub-cache/hosted/pub.dartlang.org/meta-0.5.20/lib
│ ├── start -> /Users/freewind/.pub-cache/hosted/pub.dartlang.org/start-0.0.8/lib
│ └── unittest -> /Users/freewind/.pub-cache/hosted/pub.dartlang.org/unittest-0.5.20/lib
├── pubspec.lock
├── pubspec.yaml
└── src
└── server.dart
它使用库start,非常简单。
pubspec.yaml:_
name: darttest
dependencies:
start: any
src/ server.dart :
import 'package:start/start.dart';
void main() {
start(public: 'web', port: 3000).then((Server app) {
app.get('/').listen((request) {
request.response
.header('Content-Type', 'text/html; charset=UTF-8')
.send('Hello, dart');
});
});
}
当我在darttest目录上运行时:
➜ darttest dart src/server.dart
Unable to open file:
/Users/freewind/dev/workspace/darttest/src/packages/start/start.dart
'file:///Users/freewind/dev/workspace/darttest/src/server.dart': Error: line 1 pos 1:
library handler failed
import 'package:start/start.dart';
^
它试图找到start
from darttest/src/packages/start/start.dart
,但实际上没有这样的文件,start
in inside darttest/packages
。
我必须把server.dart
里面的项目的根?这有什么规则吗?或者如何解决这个错误?