Files
core/skills/references/libraries.md
T
2026-11-03 03:32:07 +00:00

41 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 标准库与依赖
标准库直接按包名调用,无需 import、下载或复制源码。参数和返回值查 [签名](signatures.md),完整声明在安装根 lib/。
| 能力 | 包 |
| --- | --- |
| 文本、数字 | text、int、decimal、float、math |
| 标识、字节、时间 | uuid、dever.id、dever.bytes、dever.time |
| 密码与摘要 | dever.crypto |
| JSON | dever.json;普通 API/CMD 自动编解码 |
| 文件与网络 | dever.io、dever.net、dever.http |
| 请求与身份 | dever.api、dever.auth、dever.site |
## Dever Package
Package 为可复用 Dever 组件,在 setting.json 的 package.registry/use 声明。使用 dever package add/update/remove/list/doctor 管理,dever.lock 固定版本和摘要,不能覆盖本地同名组件。
资源随 module/<name>/ 发布。用 `dever package export <root> <name> <相对子目录> --output <新目录>` 导出:消费已验证锁和缓存,不联网或执行脚本;目标须不存在,父目录须存在且无符号链接。输出包含逐文件摘要,文件不保留执行位,前端构建和发布由调用方完成。
## 外部 Lib 与普通二进制
第三方生态依赖在 setting.json 根 lib 数组声明,由 Port/Adapter 使用。已有锁用 `dever lib install <root>` 恢复;当前 CLI 不提供 Lib add/update,不能伪造锁或借用系统解释器补缺失资源。
Port 定义输入、输出和错误;external exec/pip/npm/go 由匹配的 Worker SDK 执行。具体方法见 [外部库](external-lib.md)。allow 声明能力,实际文件、网络和设备权限由运行环境控制,只执行可信代码。
普通二进制使用 command:
源码:[Port](../assets/examples/command/module/document/tool/port.dever)
```dever
execute(args: List<Text>, stdin: Bytes?) (output: dever.process.Output) fails dever.process.Error
```
源码:[Adapter](../assets/examples/command/module/document/tool/adapter.dever)
```dever
external command "bin/tool" {}
```
bin/tool 相对所属领域,须提供匹配目标的 ELF。参数直接传 argv,不经过 shell;输出含 code/stdout/stderr,非零退出码是正常结果。启动失败、超时或超限产生错误。普通测试使用 Port fake。