在项目a的pubspec中,我有这个代码从项目b导入东西:
dependencies:
project_b:
path: /home/vilix/Program Files/Dart/workspace/project_b
project_b是一个库,所以一切都在lib forlder中。从project_a保存pubspec后,Pub Get开始工作并获得project_a的所有依赖项(甚至是project_b所需的devendencies)。在我尝试启动它之后,没有任何事情真正发生(控制台中只有两行关于启动pub服务和加载源资源)并且在大约30秒之后控制台表示存在耗尽的堆空间。在大约5秒的间隔内,它试图分配越来越多。在96字节之后会弹出一个警告对话框,说出:Could not start pub serve or connect to pub
控制台输出:
--- 9:06:37 PM Starting pub serve : project_a ---
Loading source assets...
Exhausted heap space, trying to allocate 48 bytes.
Exhausted heap space, trying to allocate 64 bytes.
Exhausted heap space, trying to allocate 80 bytes.
Exhausted heap space, trying to allocate 96 bytes.
Unhandled exception:
Out of memory
请注意,我甚至没有使用任何这些软件包,只需将它放在pubspec.yaml文件和project_a的packages文件夹中。
project_a的pubspec.yaml
name: sample
description: A sample web application
dependencies:
project_b:
path: /home/vilix/Program Files/Dart/workspace/project_b
project_b的pubspec.yaml
name: project_b
version: 0.0.1+11
author: name + email
description: description
homepage: homepage
environment:
sdk: '>=1.6.0'
dependencies:
browser: '>=0.10.0+2 <0.11.0'
crypto: '>=0.9.0 <1.0.0'
答案 0 :(得分:2)
如果我的某个软件包具有指向软件包的符号链接,我会遇到同样的问题。
显然,pub会进入无限循环。
我已经打开了一个错误报告: https://code.google.com/p/dart/issues/detail?id=21031
可能不是你的问题。
答案 1 :(得分:0)