Dart 找不到引用的源:包
我有这本书Dart 找不到引用的源:包,dart,dart-pub,Dart,Dart Pub,我有这本书 名称:省道页面 描述:Dart平台。 依赖项: 网络组件:任何 蒙哥达斯:有吗 然后我运行Tools>Pub-Install,操作成功完成 当我运行应用程序时,出现以下错误: dart--启用选中模式web\page.dart 无法打开文件:C:/Users/Samer/Documents/GitHub/dart/web/packages/mongo_-dart/mongo_-dart.dart'file:///C:/Users/Samer/Documents/GitHub/dar
名称:省道页面
描述:Dart平台。
依赖项:
网络组件:任何
蒙哥达斯:有吗
然后我运行Tools>Pub-Install,操作成功完成
当我运行应用程序时,出现以下错误:
dart--启用选中模式web\page.dart
无法打开文件:C:/Users/Samer/Documents/GitHub/dart/web/packages/mongo_-dart/mongo_-dart.dart'file:///C:/Users/Samer/Documents/GitHub/dart/web/page.dart“:错误:第1行位置1:库处理程序失败
#进口(“包装:mongo_dart/mongo_dart.dart”);
我使用的是Windows 7 64位和最新的Dart编辑器版本0.2.1_r14167
问题似乎不仅存在于mongo_dart,还存在于所有其他库,编辑器在/dart/web/packages中查找包的错误路径,而我在文件夹/dart/packages中看到了一个错误路径
感谢您的帮助和时间。我在js interop软件包中也遇到了类似的问题。我把“:”改成了“/”,效果很好 原始声明:
import("package:mongo_dart/mongo_dart.dart");
#import("package/mongo_dart/mongo_dart.dart");
修改声明:
import("package:mongo_dart/mongo_dart.dart");
#import("package/mongo_dart/mongo_dart.dart");
你也可以试试这个(它对我很有效):
自从创建“web”目录以来,您是否运行过
pub install
?如果没有,试试看。您需要在包含Dart入口点的目录中有一个“packages”目录,以便正确解析“package:”导入
Pub将为您创建这些目录,但它需要知道如何做到这一点。如果向软件包中添加新目录,则需要再次运行
pub install
,以便向其中添加“packages”目录。您可能需要添加一个附加库,在其中导入mongo_dart.dart,然后在主目录中导入该库。我知道这是一个奇怪的解决方案,但当我试图让谷歌地图在Dart中运行时,它对我起了作用
更多信息:我在尝试导入unittest时遇到了类似的问题。我使用dart编辑器插件在Windows7 64位运行Eclipse4.2 删除c:\USERS\\AppData\Roaming\下的“pub”文件夹对我很有效
达朗谷歌集团的Samer Ali也因此获得了荣誉,请参见。我与TeamCity也有类似的问题。在我的开发机器上,我可以反复执行
pub-get
和pub-build
,效果非常好,但这只是我第一次使用TeamCity构建解决方案时才起作用
经过一番周折,我最终发现问题是由TeamCity在构建解决方案之前清理文件夹引起的,这主要是通过尝试和错误实现的
我找不到任何合理的文档说明
pub
是如何工作的,我也不知道为什么这只是第一次工作,但我的反复试验发现,在pub get
之前,对每个构建执行pub cache repair
,最终pub build
可以重复工作,现在,我的TeamCity项目每次都能成功构建。您能否发布文件布局的说明?您能确认web目录是否有到packages目录的符号链接吗?你能为page.dart粘贴代码吗?谢谢巧合的是,这有时可能奏效,但你真的不想这么做。这样做将打破可传递的进口。如果A使用上述语法导入B而导入C,则不太可能正确解析。这听起来很麻烦。我不知道TeamCity。它是否可能同时运行多个pub-get
?也许有一种方法可以指定要使用的发布缓存目录,以便为每个实例使用不同的目录(必须查找,目前还不能在我的计算机上查找)。即使当前生成仍在运行,也可以将TeamCity配置为启动新生成,但这不是默认设置。还可以让TeamCity对特定构建始终使用相同的文件夹,而不清除构建之间的内容;这解决了这个问题,但它不是一个干净的构建。我想知道,如果我从源代码管理获得解决方案,它将构建到一个空文件夹中。