4.2. 包管理器与模块管理
点击下载包管理器
4.2.2. PikaPackage包管理器
PikaScript有官方支持的包管理器 PikaPackage ,用于模块管理,可以提供内核、模块下载、模块发布、内核、模块版本切换功能,方便分发开发好的模块,以及管理模块的版本。 PikaPackage 是一个 windows 平台的单体应用程序。基于 go 语言开发,集成了 go-git 组件,能够在不安装 git 的情况下,实现 git 仓库的拉取、更新和版本切换功能。 https://gitee.com/Lyon1998/pikascript/tree/master/tools/pikaPackageManager
4.2.3. PikaPackage 的工作流程
pikaPackage 会自动完成上图所示的一系列流程。 - clone 仓库使用的是 gitee 源,所以不用担心网络连接问题,国内也非常快。
- 更新仓库到最新状态。
- 读取当前 requestment.txt 文件中的模块。
如果你是模块的使用者而非开发者,请注意尽一切可能避免使用 latest 版本。因为 latest 版本在不断变动,新版本的模块可能导致兼容性问题。
- 模块版本的格式为”<版本名>pikascript-core==v1.6.1PikaStdLib==v1.6.1PikaStdDevice==v1.6.0STM32G0==v1.2.0PikaPiZero==v1.1.3
”,在 requestment.txt 中填写相应的版本名即可拉取对应版本的模块。 如果你也想发布模块,就可以仿照填写 packages.toml 文件,包管理器就可以识别到你发布的模块了。
- 如果你想发布一个模块,则在 pikascript/package 目录下新建一个和模块同名的文件夹,再将该模块包含的所有文件拷贝到该文件夹内即可。提交该文件夹并获得 commit id 后,再将 commit id 填写进 packages.toml 描述文件中。 -[[packages]]name = "pikascript-core"releases = [ "v0.8.1 af42fd61884dc7048628b0d3bafaa42697f6e8ea", "v0.8.2 af42fd61884dc7048628b0d3bafaa42697f6e8ea", "v0.8.3 af42fd61884dc7048628b0d3bafaa42697f6e8ea", "v0.9.0 332ef8afb0692cddd194782a07e30f2688d0f813", "v0.10.0 c86eaefa4516dd82b1050fa74a7d85399459d5ed", "v1.0.0 7b816b1546ef91a03f77760d4b10806ab956d452", "v1.1.0 845d1fc6520237e2238087800f72608dcb81afa6", "v1.1.1 c77e42450ed0eb09fcd7bb2b7d7c2b7eeeb55a2e", "v1.1.2 f6ad2c78f49162ab3f898abc6a0a4d87777ce655", "v1.1.3 6539072bf7bebb242ea40f8595bfb5c9aae3de7f", "v1.2.0 ce3df083b68fbfc85e64e6793fe07a6736d6f29f", "v1.2.1 e29a77527fd753c4eb811b047899534472bfc8ec", "v1.2.2 5316ede928b01a20571103616a64666abbc40e0a", "v1.2.3 5ae86929851ff6a62342a7072b77e9cf5be85f1c", "v1.2.4 b7ac057d75e88736cc844de0bafb447a48f2fb6d", "v1.2.5 db51f0520a673074a14ef0f5c4434da0d5c3425f", "v1.2.6 044a2a8f0905c6ca90c633759f397323ce57eefd",][[packages]]name = "PikaStdLib"releases = [ "v1.0.1 af42fd61884dc7048628b0d3bafaa42697f6e8ea", "v1.1.0 0b3b866dbacc363c7b6b3899faa0cbcaccd59d5e", "v1.2.0 ca29e112687525ee7511bd30418d368754627a00", "v1.2.1 5ae86929851ff6a62342a7072b77e9cf5be85f1c", "v1.2.2 b7ac057d75e88736cc844de0bafb447a48f2fb6d",][[packages]]name = "PikaStdDevice"releases = [ "v1.3.0 af42fd61884dc7048628b0d3bafaa42697f6e8ea", "v1.4.0 29c3c5b3b0cb4d3e41e6a2a0aef9e2826bc6f7ba", "v1.4.1 6539072bf7bebb242ea40f8595bfb5c9aae3de7f", "v1.4.2 5ae86929851ff6a62342a7072b77e9cf5be85f1c",][[packages]]name = "STM32"releases = [ "v1.0.0 af42fd61884dc7048628b0d3bafaa42697f6e8ea", "v1.0.1 af42fd61884dc7048628b0d3bafaa42697f6e8ea", "v1.0.2 af42fd61884dc7048628b0d3bafaa42697f6e8ea", "v1.1.0 a18910b5dc349c64297bba3a13b7044f41d48e5f", "v1.1.1 91818aab0fa87b007e84866d479af5ac507339fe", "v1.2.0 6bd4aac6e9aba2a603da602be8583021da1272c0", "v1.3.0 7b816b1546ef91a03f77760d4b10806ab956d452", "v1.4.0 29c3c5b3b0cb4d3e41e6a2a0aef9e2826bc6f7ba", "v1.4.1 6539072bf7bebb242ea40f8595bfb5c9aae3de7f", "v1.4.2 8866710f653ad005f5c3edc5e6417ad31075b7d5", "v2.0.0 e29a77527fd753c4eb811b047899534472bfc8ec", "v2.0.1 5ae86929851ff6a62342a7072b77e9cf5be85f1c",]
4.2.4. 错误排查
