下载软件包

更新时间:
2025-04-01

下载软件包

Armory 客户端和 Web 端均提供了下载软件包功能,您可以下载软件包至计算机本地进行安装、部署或二次开发等操作。

操作须知

组织私有的软件包,组织所有者、组织管理员、软件包管理员和组织成员可以全部查看并下载,软件包访客只能下载有访问权限的软件包;个人私有的软件包只有软件包所有者可以下载;公开包所有人都可以查看并下载,权限详情请参见 权限概览

前提条件

  • 目标仓库已 发布软件包
  • 如果是通过客户端下载,则需要先 配置仓库地址,并了解完整的软件包名称,如 @namespace/package-name,其中 namespace 为空间名称,package-name 为软件包名。

操作步骤

通过 Web 端下载

  1. 登录 Armory

  2. 在 Armory 主界面的顶部搜索框中,输入软件包名称、描述或关键字等信息搜索目标软件包。

  3. 单击要下载的软件包名称(如 @armory/armory-cli),在软件包详情页,可以选择 在文件页签下载在版本页签下载 所需软件包。如果是下载指定版本的软件包,则建议选择在版本页签下载。

在文件页签下载

  1. 在软件包详情页,单击文件,进入软件包文件页签。

  2. 在软件包文件页签,可以按需选择如下几种方式下载软件包:

    • 下载整个软件包:单击文件列表右上角的下载,下载整个软件包。

    • 下载某个平台或架构的软件包:此处以“平台视图”展示方式为例介绍。选择要下载的软件包平台,单击逐层展开文件夹,然后单击目标文件右侧的,选择下载,下载软件包。

  3. 下载完成后,在浏览器的下载管理器中,可以查看软件包的存放路径,并检查已下载的软件包。

在版本页签下载

  1. 在软件包详情页,单击版本,进入软件包版本页签。

  2. 在软件包版本页签,选择要下载的软件包版本,单击其最右侧的,按需选择下载所有或下载指定平台架构的软件包。

  3. 下载完成后,在浏览器的下载管理器中,可以查看软件包的存放路径,并检查已下载的软件包。

通过客户端下载

  1. 在开始搜索框或任意文件夹地址栏输入“cmd”,打开终端。

  2. 在终端执行如下命令,查看当前生效的仓库地址是否为目标仓库。

     armory repo ls
    

    如果是目标仓库,则继续执行步骤 3;如果非目标仓库,则可以执行armory repo use命令,通过键盘上下键选择目标仓库,并按“Enter”键完成选择。

  3. 执行armory login按提示输入用户名密码,进行登录认证。

  4. 执行如下命令,通过关键词搜索目标软件包,并查看软件包的基本信息。

    armory search armory-client
    
  5. 执行armory get命令,下载软件包至计算机本地。可通过如下两种方式下载:

    armory get @namespace/package-name [-v <version> | -t <tag>] [-P <platform>] [-A <arch>] [-s] [-d <directory>] [--no-dep] [--force] 
    
    armory get @namespace/package-name[@version | @tag][@platform@arch] [-d <directory>] [--no-dep] [--force]
    

    参数说明如下:

    参数是否必选说明
    @namespace/package-name完整的软件包名称,包括命名空间和包名
    -v, --version指定软件包版本,如 1.7.6 。versiontag 不能同时使用。如果不指定,则默认下载最新版本
    -t, --tag指定软件包 Tag,如 latest 。使用 tag 时,不需要指定 version
    -P, --platform指定软件包的平台,如 SylixOS、Windows、Linux 或 macOS。如果不指定,则默认下载所有平台的软件包
    -A, --arch指定软件包的架构,如 noarch、arm64、x86-64 等。如果不指定,则默认下载某平台下所有架构的软件包
    -s, --suitable适配当前运行环境的操作系统和架构,无需手动指定 platformarch
    -d, --directory指定软件包的下载路径。设置该选项时,软件包将下载至指定目录下,以 @namespace 命名的文件夹内;未设置时,默认下载至当前工作目录(如 D:\software\Armory),并存放在以 @namespace 命名的文件夹内
    --no-dep设置是否禁止下载软件包依赖。如果设置了该选项,系统将不会下载该软件包的依赖包,仅下载指定的软件包本身;如果未设置该选项,则系统会默认下载该软件包的所有依赖包
    -f, --force设置是否强制下载软件包。使用此选项则会忽略本地仓库缓存,直接从远程仓库下载,并覆盖目标路径下已存在的文件

    下面以下载“软件包命名为 @armory/armory-cli、版本为 1.7.6、平台为 Linux、架构为 x86-64”的软件包为例,介绍如何通过armory get命令下载需要的软件包。

    • 下载最新版本的 @armory/armory-cli 软件包

      armory get @armory/armory-cli
      
    • 下载指定版本、平台和架构的 @armory/armory-cli 软件包,并指定下载路径,但不下载其依赖包。可通过如下两种方式下载:

      armory get @armory/armory-cli@1.7.6@linux@x86-64 -d ./armory-pkg  --no-dep
      
      armory get @armory/armory-cli -v 1.7.6 -P linux -A x86-64 -d ./armory-pkg --no-dep
      
    • 下载适配当前计算机系统架构的软件包,并强制覆盖下载

      armory get @armory/armory-cli -s -f
      

      执行此命令时,系统首先会精确匹配适用于当前系统平台和架构的软件包,如果匹配不到,则尝试匹配当前平台下通用架构(noarch)的软件包,默认下载最新版本。

  6. 下载完成后,根据是否指定下载路径查看软件包:

    • 指定下载路径时,软件包将下载至指定目录下以 @namespace 命名的文件夹内。

    • 未指定下载路径时,软件包将下载至当前工作目录(如 D:\software\Armory),并存放在以 @namespace 命名的文件夹内。