【问题标题】:using "packages" folder in DART在 DART 中使用“包”文件夹
【发布时间】:2014-10-11 09:33:58
【问题描述】:

在我的应用程序中,我将 pubspec.yaml 文件设置为:

name: server
dependencies:
   oracledart: any

运行 pub get 后,我​​正确更新了文件夹“packages”。

我想创建子文件夹来单独测试我的功能,所以我创建了文件夹:test/boms.dart,即:

import 'dart:async';
import 'package:oracledart/oracledart.dart';

void main() {
  ...
}

但是一旦运行它,我得到了这个错误消息:

Unhandled exception:
Uncaught Error: FileSystemException: Cannot open file, path =    'G:\app\bin\test\packages\oracledart\oracledart.dart' (OS Error: The system cannot find the path specified.

是否需要将'packages'文件夹复制到每个具有“main”功能的子文件夹中,或者有其他连接方式!

【问题讨论】:

    标签: dart dart-pub


    【解决方案1】:

    至少对于顶级文件夹,packages 链接应该是自动创建的。尝试运行 pub getpub upgrade 或在 DartEditor 中创建 test 文件夹(我不知道是什么创建了符号链接,但据我所知,它们通常是在顶级文件夹中自动创建的)。在 bintest 等顶级文件夹的子文件夹中,我总是必须通过在包根目录中创建指向 packages 链接的新符号链接来手动创建它们。

    在 Linux 中:

    ln -s ../packages/ packages
    

    不知道如何在 Windows 中使用。

    【讨论】:

    • 感谢@Gunter,符号链接是在“web”文件夹的顶级和子文件夹中自动创建的,但不是在“bin”文件夹的子文件夹中创建的
    【解决方案2】:

    我认为 DART 团队应该在“bin”文件夹的子文件夹中自动生成符号链接,与“web”文件夹的子文件夹的情况相同。

    无论如何,要在 Windows 7 中手动创建它们,我发现它的制作方式如下:

    1. run CMD as admin
    2. mklink /D myApp\bin\test\packages myApp\packages   [D for directory, not drive]
    

    我找到了如何在 Windows here 中创建符号链接

    另一种完整的详细方式提到here

    【讨论】:

    • 为什么bin下面有test目录?这应该是your_package/test/your_test.dart\Packages 指向哪里? Packages 应该是小写的,它应该指向你的包根目录中的packages 目录,而不是你的驱动器根目录。我没有窗口可以测试它,但命令参数看起来不正确。
    • 我前段时间为此创建了一个错误报告,但由于恕我直言无效原因code.google.com/p/dart/issues/detail?id=16947
    猜你喜欢
    • 2015-07-03
    • 2019-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-02
    • 2019-01-20
    • 1970-01-01
    相关资源
    最近更新 更多