У меня есть простой проект дротика, имеет структуру файлов, как:Почему я не могу запустить файл дротика внутри каталога?
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
от darttest/src/packages/start/start.dart
, но нет такого файла, фактически, start
внутри darttest/packages
.
Должен ли я положить server.dart
в корень проекта? Есть ли какое-то правило для этого? Или как исправить эту ошибку?
Вы используете редактор дротиков? Вам не хватает ссылки каталога в папку/package /. Вы можете создать их, запустив «Pub Install» в файле pubspec.yaml (контекстное меню). – Fox32