# 包管理器


包管理器面板,提供包的创建、开发、安装、卸载、注册、版本切换、依赖设置等功能,并支持对开发包和注册包进行分类管理。

  • 服务器:一是公共服务器,如GitHub;二是企业内部服务器,如GitLab。这两种服务器 Syslab 都支持。

  • 开发包:未注册、未提交到服务器的本地Julia包。

  • 注册包:已注册、已提交到服务器,并由服务器统一管理的Julia包。

# 开发库面板

# 开发库界面布局

开发库面板主要由三部分组成:

  • 过滤框:根据输入内容,对表格树显示内容进行过滤。
  • 工具栏按钮:包括刷新面板、新建包、添加开发包、选项设置等按钮。
  • 表格树展示区:主要用于对开发包及其函数的表格树展示。

# 刷新面板

初始默认为空面板,点击刷新面板按钮,将当前包环境下已安装的开发包(即通过 Pkg.develop 安装的本地包),添加到开发包管理面板中。如下图所示:

# 新建包

点击新建包按钮,右侧会弹出一个新建函数库配置页面。填写新建函数库的相关配置项,点击确认,开始新建函数库。

配置项说明如下:

  • 函数库保存目录:新建包的父路径,必填;
  • 函数库名称:新建包的名称,默认为Unnamed,必填;
  • 函数库说明:新建包的说明,默认为Unnamed,选填;
  • 新建后是否安装此函数库:默认不勾选,若勾选此选项,单击确认,自动安装此函数库;
  • 新建后是否打开此函数库:默认勾选,单击确认后,资源管理器自动打开此函数库文件夹,若不勾选此选项,则资源管理器打开文件夹无变化。

新建函数库的选项配置,如下图:

# 添加包

用于添加一个已存在的本地开发包。点击 添加开发包按钮,弹出选择对话框,选择包文件夹,系统将该包添加到开发库面板。如下图所示:

# 选项设置

提供开发库面板的选项设置功能。点击选项设置,弹出下拉菜单,勾选 是否显示版本号,点击确认后,开发包名称变为 名称 @版本 。如下图:

# 显示过滤

针对输入框的输入内容,对 名称 是否包含输入框内容进行过滤。本示例中,输入框中输入 Ex ,对开发库显示进行过滤。如下图:

# 包的导出信息

点击包节点的左侧箭头,将展开该包的所有导出信息,包括变量函数 等;如果该包没有导出信息,则不能展开。如下图所示:

注意:展开节点之前请先打开 Julia REPL命令行窗口。

# 函数节点

  • 选中函数节点,右键菜单选择 [转到函数定义],右侧编辑器打开函数定义所在文件,并跳转到函数定义行。如下图:
  • 选中函数节点,右键菜单选择 [复制函数名],函数名被复制到剪贴板中。如下图:
  • 选中函数节点,右键菜单选择 [查看函数帮助],可以以预览模式显示函数的说明文档。如下图:

# 开发库右键菜单

# 从列表中移除

选中一个包,右键菜单选择 从列表中移除,该包节点将从库面板中移除。本示例中,选择开发库面板中的 Example 包,右键菜单选择 从列表中移除Example 包节点从列表中移除。如下图:

注意:只是从库面板中移除,不会删除包。若需要删除包,请手工处理。

# 设置库的版本

选中一个包,右键菜单选择 设置库的版本 ,右侧弹出输入框,输入新的版本号,点击回车,包的版本号设置成功。如下图:

注意:包的版本格式为 x.x.x,如1.92.3。

# 设置库的依赖

对于一个开发包,可以设置其所依赖的其它包。选中一个包,右键菜单选择 设置库的依赖,右侧弹出选择列表,列表中包含所有注册包名称,从列表中可以选择要添加的依赖包。如下图:

# 执行单元测试

选中一个包,右键菜单选择 执行单元测试,执行包的单元测试。本示例中,选择开发包管理面板中的 Example 包,右键菜单选择 执行单元测试 。单元测试结果如下图:

# 安装包

选中一个包,右键菜单选择 安装,则在当前包环境安装选中包。本示例中,选择开发库面板中的 PyCall 包,右键菜单选择 安装 ,安装完成后弹出提示信息 安装本地函数库成功 。如下图:

# 卸载包

选中一个包,右键菜单选择 卸载,则在当前包环境卸载选中包。本示例中,选择开发库面板中的 PyCall 包,右键菜单选择 卸载 ,卸载完成后弹出提示信息 卸载本地函数库成功 。如下图:

# 发布到注册库

用于将一个开发包提交到企业内部服务器,或将一个注册包更新后提交到企业内部服务器。选中一个包,右键菜单选择 发布到注册库,将该包发布到注册库,若发布成功则在注册库面板上会添加此包,否则提示报错。本示例中,选择开发库面板中的 TyTest 包,右键菜单选择 发布到注册库 ,发布成功后,注册库面板中添加 TyTest节点 。如下图:

# 查看库的依赖

选中一个包,右键菜单库的依赖图,可以查看其(直接)所依赖的包。本示例中,选择开发库面板中的 TyImages 包,右键菜单选择 库的依赖图 ,在右侧页面上显示该包的依赖图。如下图:

# 注册库面板

# 注册库界面布局

注册库面板主要由三部分组成:

  • 过滤框:根据输入内容,对表格树进行显示内容过滤。

  • 工具栏按钮:包括更新注册表,刷新面板,添加注册包,选项设置等按钮。

  • 表格树展示区:主要用于对注册包及其函数的表格树展示。

# 更新注册表

注册包的相关信息,全部记录在注册表上(即Registry.toml)。根据服务器类型不同,注册表又分为公有注册表和私有注册表。公有注册表对应公共服务器,私有注册表对应企业内部服务器。

注册库面板提供 更新注册表 功能,用于同步服务器状态。点击 更新注册表 按钮,状态栏信息提示 正在更新注册表,请耐心等待... ,更新完成,提示信息消失。如下图:

# 刷新面板

注册库面板提供刷新面板功能,用于将当前包环境下,通过 Pkg.add 命令安装的注册包以及私有注册表中的所有包(无论是否安装),添加到注册库面板。如下图:

# 添加注册包

点击 添加注册包 ,弹出对话框,从下拉列表中选择需要添加的包,系统将该包添加到注册库。本示例中,点击 添加注册包,选择 REPLTreeViews后,注册库面板将添加REPLTreeViews节点,操作步骤如下图:

对话框中的下拉列表包含了注册表中的所有包。

# 选项设置

允许设置表格树是否显示版本号、是否显示未安装库等。如下图:

# 注册库右键菜单

# 从列表中移除

选中一个包(此时包处于未安装状态),右键菜单选择 从列表中移除 ,该包将从注册库面板中移除。

注意:只是从库面板中移除,不会删除包。

# 安装包

选中一个包,右键菜单选择 安装 ,则在当前包环境安装选中包。本示例中,选择注册包 Example(此时包处于未安装状态),右键菜单选择 安装 ,安装完成后提示信息 安装注册包成功 。如下图:

# 卸载包

选中一个包,右键菜单选择 卸载 ,则在当前包环境卸载选中包。本示例中,选择注册包 Example(此时包处于已安装状态),右键菜单选择 卸载 ,卸载完成后提示信息 卸载注册包成功 。如下图:

# 更新到指定版本

选中一个包,右键菜单选择 更新到指定版本,弹出所有版本号列表,选择一个新的版本号,系统自动将包更新到指定版本。本示例中,选择注册包 Example,右键菜单选择 更新到指定版本 ,选择 0.2.0 版本,进行更新。更新结果如下图:

# 查看库的依赖

选中一个包,右键菜单 库的依赖图,可以查看其所依赖的其它包。本示例中,选择注册包 Symbolics,右键菜单选择 库的依赖图,在右侧页面内显示

PyPlot 包的依赖图。如下图:

# 查看说明

选中一个包,右键菜单 库的说明,可以以预览模式显示包的 README.md 文档。本示例中,选择注册包 Symbolics,右键菜单选择 库的说明 ,在右侧页面显示

Symbolics 包的说明文档。如下图: