问题标签 [dart-pub]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
88 浏览

versioning - 在带有 Pub 的 Dart 中,我什么时候应该对依赖项使用“任何”版本约束?

在制作包时,我经常对是否应该使用any约束感到困惑。

我知道:

但有一个灰色区域:

  • 旨在扩展的应用程序,例如代码实验室、教程、模板、示例等。

  • 具有可重用库的应用程序;也就是说,具有lib通用功能目录的包,放在单独的包中没有意义,但也有web一个完整应用程序的目录。


问题:什么时候应该使用any版本约束,什么时候应该完全指定 Pub 包的版本约束?

0 投票
1 回答
161 浏览

dart - 飞镖包括 URI 中大小写错误的库

所以我已经在 Dart 中从事这个项目几个月了,没有太多大问题,直到上周的最新更新似乎打破了库包含在我的应用程序中的方式。我有一个名为“BeerRun”的应用程序包,带有标准的 lib/ 和 web/ 目录。在“web”中,我有主 beer_run.dart 文件,该文件包含在 web/BeerRun.html 中并在其中调用。我已经运行了 pub install 和 pub update,但是当我运行我的 dart 应用程序时,我看到以下错误:

该消息大约有 20 个实例引用了不同的 dart 源文件。问题是路径应该是 /home/kyle/dart/BeerRun/web/packages/ BeerRun /src/input,但是浏览器使用所有小写的路径名来包含这个文件。上周这不是问题,直到我升级了我的 Dart 编辑器;现在是 22223 版。有什么我遗漏的吗?

提前致谢!

0 投票
2 回答
376 浏览

dart - 是否可以在 pubspec 中为包依赖项赋予不同的名称

我设法在我的应用程序中添加了相对路径依赖项

然后将其导入我的源代码

但是,名称“mylib”取自库包 pubspec,如果我想更改它(例如“mynewlib”),我必须在任何地方更改名称(pubspec 和 dart 源代码)

它还可以防止有 2 个具有相同名称的包(是的,我知道,很奇怪,但我无法控制人们在 pub.dartlang.org 中放置的内容)。我想做的是

并在源代码中

但是我找不到正确的语法以及这是否可能。(准备好测试的示例代码在这里:https ://github.com/alextekartik/dart-test/tree/master/lib_test )。请注意,这里我不是在谈论库名称而是包名称(并且命名包 mylib 可能会造成混淆)

0 投票
2 回答
6651 浏览

dart - dart pub 在代理后面失败 - 有没有办法手动安装软件包?

在公司网络中使用代理(至少在 Windows 机器上)使用 Pub dart 存在一个已知问题。您甚至无法运行示例,因为它们使用 pub 来获取包。如果您首先从没有代理的网络运行示例,那么当您从代理后面运行它们时,它工作得非常好(软件包已安装)。

我的问题是:如何手动安装软件包?

例如,我当然可以从 git 中获取它们,但是之后我必须做什么才能“安装它们”我对 Dart 安装目录、用户目录和似乎必要的符号链接中的内容感到困惑。可能是我错过了一些东西,但我没有找到任何好的文档。

谢谢,

F。

0 投票
1 回答
374 浏览

dart - 引用本地 dart 库

我正在编写 4 个 dart 库 A、B、C 和 D,它们都处于开发早期,所以我还不想在 pub 上发布它们。

情况也是如此,只有 A、B 和 C 是公共库,它们都依赖于 D,而 D 应该是这三个库的私有库。我该如何处理这样的情况?

我可以在本地开发机器上使用 pub 为 A、B 和 C 安装库 D,而它没有发布吗?以及如何在没有发布 D 的情况下发布 A、B 和 C,因为如果 A、B 或 C 不使用 D,则认为 D 不是特别有用?

我已经阅读了入门指南包结构文档,但似乎都没有涵盖这种情况,即如何管理私有库。还有这个SO question,但用户在解决她的问题后没有回答。

0 投票
2 回答
2253 浏览

dart - 安装包时出现 Dart Pub 错误?

Dart 一直工作到我更新了编辑器,现在我得到了现有和新项目的错误。我尝试完全重新安装 Dart。当我在 web-ui 上为新项目运行 pub install 时收到以下消息:

正确安装时该目录中没有“版本”文件。我添加了该文件并收到以下消息:

当我创建一个新项目时,我得到以下信息:

有任何想法吗?

0 投票
0 回答
210 浏览

dart - 如何创建组合的命令行/库包

我想将我的包(应用程序和 lib 的组合)变成一个包。

我的情况

AppX只是一个script.dart在 app 的根目录中创建文件的文件X

运行良好!

目前为了测试,我创建了一个新应用程序并在文件夹中APP复制应用程序。XAPP/packages

但是当我APP/packages/X/script.dart通过 darteditor 运行时,我得到了

cant open file /package/X/c:/APP/X/script.dart

这是有线的,因为我只是右键单击script.dart并运行..这是一个错误的路径错误吗?

另外我检查了如果我script.dartAPP根文件夹中运行会发生什么,我看到脚本会打开,但是一旦我尝试创建/写入文件

file.writeAsStringSync(contentString, encoding: Encoding.ASCII);

我明白了

Breaking on exception: FileException: Cannot open file 'C:\APP' (OS Error: Access is denied.

就文件系统用户权限而言,开发包和将其用作 lib 包有什么区别?

目前我的结构是

app/bin/script.dart(用户执行的脚本)

app/tool/helperScript.dart (bin中脚本调用的函数)

未来的结构还将包括

app/lib/lib.dart

app/lib/src/libHelper.dart

更新 当前解决方法 在我的另一个问题中,如何测试 dart pub 包有人回答:

如此处所示我可以在 pubspec 文件中使用路径选项。

所以我不会将我的应用程序放在用户包文件夹中

- 创建一个应用程序包,

- 用户在他的 pubspec 中添加我的应用程序的路径(在控制台中提供路径)

-user 执行我的脚本

此解决方法修复了我的文件访问问题,但由于用户应用程序现在将 path在 pubspec

1.用户不能部署他的包(不编辑他的pubspec)

2.用户必须将我的控制台应用程序复制到他运行他的应用程序的服务器上(嗯,但我现在在想,因为本地机器只是开发,他无论如何都必须在他的生产服务器上做同样的事情)所以我想目前我会坚持这种方法,但是

我仍然有兴趣

如何从 lib 包中访问绝对应用程序根路径

谢谢

附言。

由于当前的解决方案是create application package and let the user tell you the path并且由于问题已经发展,我将标题从

How to access app root path from inside a combined app/lib package

How to create a combined Command-line/Library package

0 投票
2 回答
88 浏览

dart - 如何在部署之前测试 dart pub lib 包?

在部署之前测试 pub lib 包的最佳方法是什么,就像我通过 pub install 下载它一样?(不是在谈论单元测试)

0 投票
1 回答
937 浏览

dart - 为什么我不能在目录中运行 dart 文件?

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

它使用库start,非常简单。

pubspec.yaml:_

src/ server.dart :

当我在darttest目录上运行时:

它试图找到startfrom darttest/src/packages/start/start.dart,但实际上没有这样的文件,startin inside darttest/packages

我必须把server.dart里面的项目的根?这有什么规则吗?或者如何解决这个错误?

0 投票
2 回答
150 浏览

dart - 如果我的 dart 文件是 restful api 提供者的服务器端文件,我应该把它们放在哪里?

我正在尝试使用start为客户编写一些宁静的 api。

内容看起来像:

请注意,同一目录中还有一些其他 dart 文件myfileN.dart

我应该把它们放在哪里?

根据dart项目布局,有几个入口点:

但我不知道我应该把我的飞镖文件放在哪里。由于这不是一个库,它只是一个服务器端应用程序,不是一个 Web 应用程序,不是一个测试,不是一个示例,也不是一个命令行脚本。

我认为应该有一个src放我的文件,但没有。如何解决这个问题呢?标准布局不是设计得不好吗?