问题标签 [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.
versioning - 在带有 Pub 的 Dart 中,我什么时候应该对依赖项使用“任何”版本约束?
在制作包时,我经常对是否应该使用any
约束感到困惑。
我知道:
library packages,我应该指定明确的版本约束,以便我的库的用户知道我的传递依赖项的版本,
应用程序包,我应该使用
any
并签入我的pubspec.lock
锁定文件,以便其他人可以运行我的应用程序,
但有一个灰色区域:
旨在扩展的应用程序,例如代码实验室、教程、模板、示例等。
具有可重用库的应用程序;也就是说,具有
lib
通用功能目录的包,放在单独的包中没有意义,但也有web
一个完整应用程序的目录。
问题:什么时候应该使用any
版本约束,什么时候应该完全指定 Pub 包的版本约束?
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 版。有什么我遗漏的吗?
提前致谢!
dart - 是否可以在 pubspec 中为包依赖项赋予不同的名称
我设法在我的应用程序中添加了相对路径依赖项
然后将其导入我的源代码
但是,名称“mylib”取自库包 pubspec,如果我想更改它(例如“mynewlib”),我必须在任何地方更改名称(pubspec 和 dart 源代码)
它还可以防止有 2 个具有相同名称的包(是的,我知道,很奇怪,但我无法控制人们在 pub.dartlang.org 中放置的内容)。我想做的是
并在源代码中
但是我找不到正确的语法以及这是否可能。(准备好测试的示例代码在这里:https ://github.com/alextekartik/dart-test/tree/master/lib_test )。请注意,这里我不是在谈论库名称而是包名称(并且命名包 mylib 可能会造成混淆)
dart - dart pub 在代理后面失败 - 有没有办法手动安装软件包?
在公司网络中使用代理(至少在 Windows 机器上)使用 Pub dart 存在一个已知问题。您甚至无法运行示例,因为它们使用 pub 来获取包。如果您首先从没有代理的网络运行示例,那么当您从代理后面运行它们时,它工作得非常好(软件包已安装)。
我的问题是:如何手动安装软件包?
例如,我当然可以从 git 中获取它们,但是之后我必须做什么才能“安装它们”我对 Dart 安装目录、用户目录和似乎必要的符号链接中的内容感到困惑。可能是我错过了一些东西,但我没有找到任何好的文档。
谢谢,
F。
dart - 安装包时出现 Dart Pub 错误?
Dart 一直工作到我更新了编辑器,现在我得到了现有和新项目的错误。我尝试完全重新安装 Dart。当我在 web-ui 上为新项目运行 pub install 时收到以下消息:
正确安装时该目录中没有“版本”文件。我添加了该文件并收到以下消息:
当我创建一个新项目时,我得到以下信息:
有任何想法吗?
dart - 如何创建组合的命令行/库包
我想将我的包(应用程序和 lib 的组合)变成一个包。
我的情况
AppX
只是一个script.dart
在 app 的根目录中创建文件的文件X
。
运行良好!
目前为了测试,我创建了一个新应用程序并在文件夹中APP
复制应用程序。X
APP/packages
但是当我APP/packages/X/script.dart
通过 darteditor 运行时,我得到了
cant open file /package/X/c:/APP/X/script.dart
这是有线的,因为我只是右键单击script.dart
并运行..这是一个错误的路径错误吗?
另外我检查了如果我script.dart
从APP
根文件夹中运行会发生什么,我看到脚本会打开,但是一旦我尝试创建/写入文件
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
dart - 如何在部署之前测试 dart pub lib 包?
在部署之前测试 pub lib 包的最佳方法是什么,就像我通过 pub install 下载它一样?(不是在谈论单元测试)
dart - 为什么我不能在目录中运行 dart 文件?
我有一个简单的飞镖项目,它的文件结构如下:
它使用库start,非常简单。
pubspec.yaml:_
src/ server.dart :
当我在darttest目录上运行时:
它试图找到start
from darttest/src/packages/start/start.dart
,但实际上没有这样的文件,start
in inside darttest/packages
。
我必须把server.dart
里面的项目的根?这有什么规则吗?或者如何解决这个错误?