Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.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_Packages_Project Structure_Dart Pub - Fatal编程技术网

为什么可以';我不能在目录中运行dart文件吗?

为什么可以';我不能在目录中运行dart文件吗?,dart,packages,project-structure,dart-pub,Dart,Packages,Project Structure,Dart Pub,我有一个简单的dart项目,它的文件结构如下: 测试树 . ├── 包装 │   ├── 浏览器->/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/

我有一个简单的dart项目,它的文件结构如下:

测试树 . ├── 包装 │   ├── 浏览器->/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 ├── 公开密码锁 ├── 公开发行 └── src └── server.dart 它使用库,非常简单

公共规范yaml

名称:darttest
依赖项:
开始:有吗
src/server.dart

import'package:start/start.dart';
void main(){
开始(公共:“web”,端口:3000)。然后((服务器应用程序){
app.get(“/”).listen((请求){
请求.响应
.header('Content-Type','text/html;charset=UTF-8')
.send('Hello,dart');
});
});
}
当我打开darttest时,定向并运行:

➜  dart测试dart src/server.dart
无法打开文件:
/Users/freewind/dev/workspace/darttest/src/packages/start/start.dart
'file:///Users/freewind/dev/workspace/darttest/src/server.dart':错误:第1行位置1:
库处理程序失败
导入“package:start/start.dart”;
^
它试图从
darttest/src/packages/start/start.dart
中查找
start
,但实际上,
darttest/packages
内部没有这样的文件

我是否必须将
server.dart
放在项目的根目录中?这有什么规定吗?或者如何修复此错误?

编辑
pub-install
已重命名为
pub-get
pub-install
仍作为
pub-get
的未记录别名提供)
编辑

pub-install
通过创建附加的
软件包来解决此问题
链接到文件根目录下的主
目录的目录
你的包裹。它假定您的包是根据
,并在
bin/
中创建链接的
packages
目录,
test/
example/
,以及它们的子目录

省道编辑器

如果您使用的是Dart编辑器,它可以自动创建到主软件包文件夹的目录链接

您需要从文件视图中的
pubspec.yaml
文件的上下文菜单中选择“Pub Install

命令行

如果要从命令行创建目录,可以使用以下命令。您需要在
pubspec.yaml
文件的目录中运行它


PS:看看Dart包的配置。他们建议对独立的Dart应用程序使用
bin
文件夹。

是否使用Dart编辑器?您缺少指向/package/文件夹的目录链接。您可以通过在pubspec.yaml文件(上下文菜单)上运行“Pub Install”来创建它们。谢谢,我不是在使用Dart编辑器,而是在Dart SDK中使用命令行。我必须手动在
src
内创建链接吗?我可以运行一些pub命令来执行此操作吗?命令行等效于
pub install
,请参阅,我不确定将
server.dart
放入
bin
是否是一个好主意,因为它有很多逻辑。而且它不是一个库,把它放在
lib
中是不合适的。我不知道现在应该把它放在哪里:(如果它包含一个main,而不是一个工具、一个单元测试、一个示例或一个web应用程序,那么它应该放在bin中。它是restfulapi提供程序的服务器端,我应该把它放在哪里?