news 2026/9/13 11:29:07

MaaAssistantArknights maa-cli 安装与编译完全指南:预编译、包管理器与 Cargo 源码构建

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MaaAssistantArknights maa-cli 安装与编译完全指南:预编译、包管理器与 Cargo 源码构建

MaaAssistantArknights maa-cli 安装与编译完全指南:预编译、包管理器与 Cargo 源码构建

【免费下载链接】MaaAssistantArknights《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients.项目地址: https://gitcode.com/GitHub_Trending/ma/MaaAssistantArknights

maa-cli 是 MaaAssistantArknights 官方提供的 Rust 命令行工具,它本身只是一个薄薄的 CLI 外壳,真正执行《明日方舟》自动化任务的是底层 MaaCore 与配套资源。本文以 maa-cli 的官方安装文档 docs/zh-cn/manual/cli/install.md 为骨架,系统梳理预编译二进制、各类包管理器、cargo 源码编译三种安装路线,并完整讲解 MaaCore 与资源的安装前提、编译特性开关及安装后的验证步骤,帮助你在任何主流平台上从零搭建可用的 maa-cli 环境。

maa-cli 与 MaaCore 的依赖关系

在动手安装之前,先明确一个核心概念:maa-cli 只提供命令行界面,不包含任何游戏自动化逻辑。根据 CLI 使用指南 docs/zh-cn/manual/cli/README.md 的说明,maa-cli 的功能有三项:

  • 运行预定义或自定义任务,例如maa fightmaa run <task>
  • 通过maa installmaa update安装、更新 MaaCore 及资源;
  • 通过maa self update更新自身。

也就是说,完整的运行链路是maa-cli(命令行入口) → MaaCore(自动化核心) → 游戏资源。MaaCore 本体即本仓库 src/MaaCore 目录下由 C++ 实现的自动化核心(入口见 src/MaaCore/Assistant.cpp),maa-cli 通过其公开的 C 接口(include/AsstCaller.h)驱动任务执行。因此无论采用哪种方式安装 maa-cli,后续都必须另行准备 MaaCore 与资源,这一点在文末专门展开。

方式一:预编译二进制一键安装(最省事)

如果你的平台在官方预编译支持列表中(Linux、macOS、Windows),最简单的方式是使用官方安装脚本一键安装。

Linux 和 macOS使用 curl 下载并执行安装脚本:

curl -fsSL https://raw.githubusercontent.com/MaaAssistantArknights/maa-cli/main/install.sh | bash

Windows(PowerShell)先下载脚本再执行:

Invoke-WebRequest -Uri "https://raw.githubusercontent.com/MaaAssistantArknights/maa-cli/main/install.ps1" -OutFile install.ps1; .\install.ps1

安装完成后,后续可通过内置的自动更新命令升级 maa-cli 自身:

maa self update

注意:maa self update依赖编译时启用的cli_installer特性(见下文"编译选项"),并且对于通过包管理器安装的用户此命令无效——包管理器安装的 maa-cli 应使用对应包管理器来升级(详见 使用文档 中的提示)。

如果你的平台不在预编译列表内,可以跳到文末的 编译安装 章节自行构建。

方式二:包管理器安装

对于 macOS 和受支持的 Linux 发行版,包管理器是更贴合系统惯例的安装方式,且能随系统一并管理升级。

macOS:Homebrew(第三方 tap)

Homebrew 用户可通过官方维护的第三方 tap 安装,提供两个版本可选:

  • 稳定版
brew install MaaAssistantArknights/tap/maa-cli
  • 不稳定版/预发行版maa-cli-beta):
brew install MaaAssistantArknights/tap/maa-cli-beta

在 Linux 上使用 Homebrew 的用户,安装方式与 macOS 完全相同,参见上述命令即可。

Arch Linux:AUR

Arch 用户可直接安装 AUR 包maa-cli,AUR 助手任选其一:

  • 使用 paru:
paru -S maa-cli
  • 使用 yay:
yay -S maa-cli

Nix / NixOS

Nix 用户可以直接运行,无需事先安装到环境:

  • 稳定版(打包在 nixpkgs 中,使用 nixpkgs 提供的 Rust 工具链构建):
nix run nixpkgs#maa-cli
  • 每夜构建(位于 NUR 用户仓库,使用 Beta channel 的 Rust 工具链,由 GitHub Actions 每日自动更新与构建验证):
nix run github:Cryolitia/nur-packages#maa-cli-nightly

需要特别注意的是,Nix 上的 maa-cli 对 MaaCore 是强制依赖——即 Nix 打包已把 MaaCore 一并带入,Nix 用户无需也不应该手动再安装 MaaCore(详见下文"安装 MaaCore 与资源")。

其他发行版

未在上文列表中出现的发行版,请回退使用预编译二进制文件或自行编译安装。项目也欢迎开发者将 maa-cli 提交到更多发行版的官方仓库或用户仓库,扩大覆盖面。

方式三:cargo 编译安装

Rust 开发者可以通过cargo直接从 Git 仓库编译安装,适合需要追踪最新代码、自定义编译特性或平台不在预编译列表中的场景。

  • 稳定版本--tag stable固定到稳定发布标签):
cargo install --git https://github.com/MaaAssistantArknights/maa-cli.git --bin maa --tag stable --locked
  • 开发版本(默认分支最新代码):
cargo install --git https://github.com/MaaAssistantArknights/maa-cli.git --bin maa --locked

两条命令都使用--bin maa指定安装名为maa的可执行文件,--locked锁定依赖版本以保证构建可复现。

最低支持 Rust 版本(MSRV)

maa-cli 目前的最低支持 Rust 版本(MSRV)为1.88。官方明确提示:MSRV 可能随时发生变化,建议始终使用最新的 Rust 工具链以获得最佳体验。如果本机 Rust 工具链过旧,请先通过 rustup 等工具升级。

编译选项(Cargo Features)

从源码编译时,可通过--no-default-features关闭全部默认特性,再用--features按需开启特定特性。当前可用的特性及其作用如下:

特性名作用默认状态
cli_installer启用maa self update命令,用于更新 maa-cli 自身默认启用
core_installer启用maa installmaa update命令,用于安装和更新 MaaCore 及资源默认启用
git2提供基于 libgit2 的资源更新后端默认启用

实际编译时可按需裁剪,例如仅保留核心功能、去掉自更新能力的构建形如:

cargo install --git https://github.com/MaaAssistantArknights/maa-cli.git --bin maa --no-default-features --features core_installer --locked

安装 MaaCore 及资源(运行任务的必要前提)

如开篇所述,maa-cli 只是命令行界面,必须搭配 MaaCore 与资源才能运行任务。这一步根据安装方式与平台的不同,操作略有区别。

预编译 / 自行编译用户:maa install

使用预编译二进制或自行编译安装的用户,可以直接让 maa-cli 帮你完成 MaaCore 与资源的下载安装:

maa install

后续需要升级 MaaCore 与资源时,运行maa update即可(相关命令完整说明见 使用文档 的"管理 MaaCore"一节)。这一能力正是由上文编译选项中的core_installer特性提供。

Windows 用户:先装 VC++ 运行库

Windows 平台在运行maa install之前,需要先以管理员身份在命令提示符或 PowerShell 中安装必要组件VC++ 运行库

winget install "Microsoft.VCRedist.2015+.x64" --override "/repair /passive /norestart" --uninstall-previous --accept-package-agreements --force

该命令通过 winget 安装并修复 Visual C++ 2015+ x64 运行库(静默、免重启模式,同时卸载旧版本)。执行完成后,再运行maa install

Arch Linux 用户:两条路线可选

路线一,直接用 maa-cli 安装官方预编译的 MaaCore:

maa install

路线二,通过 AUR 包maa-assistant-arknights安装 maa-core(与 maa-cli 的 AUR 包相互独立):

paru -S maa-assistant-arknights

或:

yay -S maa-assistant-arknights

Nix 用户:无需安装

Nix 上的 maa-cli 已强制依赖 MaaCore,因此Nix 用户无需、也不应该手动安装 MaaCore,直接使用即可。

官方预编译版与包管理器版的差异提醒

官方文档特别提醒:maa install下载的是 MAA 官方预编译的 MaaCore,而通过包管理器安装的 MaaCore 可能使用与官方预编译版本不同的编译选项和依赖版本,这可能导致性能和功能上的略微差异。追求与官方一致行为、或需要排查疑难问题时,可优先考虑官方预编译版本。

从仓库侧也可以印证资源体系的组成:资源随 MaaCore 一并由官方构建分发(相关工具见 tools/ResourceUpdater/main.cpp 与 tools/OTAPacker),除随核心安装的基础资源外,还有可单独热更新的资源,可通过maa hot-update手动更新(详见 使用文档 的"其他子命令"一节)。

安装后的验证、初始化与常见问题

验证安装与版本

安装并装好 MaaCore 后,运行以下命令确认 maa-cli 与 MaaCore 均已就绪:

maa version # 获取 maa-cli 与 MaaCore 的版本信息

初始化配置

通常完成 MaaCore 安装后无需额外配置即可运行任务,但默认配置未必适合所有人。可通过交互式命令初始化配置:

maa init

该命令会引导你交互式配置 MaaCore 相关配置项(配置项详解见 配置文档)。查看配置目录位置可使用maa dir config,日志目录可用maa dir log获取。

macOS 配置目录风格问题

由于 Rust 的 Directories 库在 macOS 上默认使用 Apple 风格目录,maa-cli 在 macOS 上默认采用 Apple 风格配置目录。对命令行程序更习惯 XDG 风格的用户,可以设置XDG_CONFIG_HOME环境变量来切换:

export XDG_CONFIG_HOME="$HOME/.config"

如果不想设置环境变量,也可以通过符号链接让$HOME/.config/maa指向 maa-cli 默认配置目录:

mkdir -p "$HOME/.config/maa" ln -s "$HOME/.config/maa" "$(maa dir config)"

更多细节见 常见问题。

小结:如何选择安装方式

场景推荐方式后续 MaaCore 安装
Linux / macOS / Windows 常规用户安装脚本(预编译)maa install
macOS(Homebrew 用户)brew install MaaAssistantArknights/tap/maa-climaa install或依赖包内 MaaCore
Arch LinuxAUR(paru/yay)maa install或 AURmaa-assistant-arknights
Nix / NixOSnix run nixpkgs#maa-cli或 NUR 每夜版无需(强制依赖)
Rust 开发者 / 其他平台cargo install(stable 或 dev 分支)maa install

无论选择哪条路线,最终落地形态都是同一个maa命令;装好 MaaCore 后即可参考 使用文档 运行maa startupmaa fight等预定义任务或maa run <task>自定义任务。若在安装过程中遇到平台适配问题,可先核对本文所述的平台差异(VC++ 运行库、Nix 强制依赖、AUR 双包等),再对照 常见问题 排查。

【免费下载链接】MaaAssistantArknights《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients.项目地址: https://gitcode.com/GitHub_Trending/ma/MaaAssistantArknights

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/13 11:26:57

光伏MPPT技术:Simulink仿真与算法优化实践

1. 光伏MPPT技术背景与核心挑战光伏系统在实际运行中面临的最大技术难题之一&#xff0c;就是如何确保在不同环境条件下都能从太阳能电池板提取最大功率。这个问题的根源在于光伏电池的非线性输出特性——其电流-电压&#xff08;I-U&#xff09;曲线会随着光照强度、温度以及阴…

作者头像 李华
网站建设 2026/9/13 11:21:39

ST-GCN骨骼动作识别:时空图卷积网络原理与工程实践

简介&#xff1a;这是一份基于时空图卷积网络&#xff08;ST-GCN&#xff09;的骨骼动作识别毕业设计项目&#xff0c;面向计算机视觉、深度学习方向的本科或研究生&#xff0c;适合需要完成人体动作识别课题并希望快速跑通完整流程的开发者。项目以Python与PyTorch为核心&…

作者头像 李华
网站建设 2026/9/13 11:21:24

快速选择算法与堆排序:高效解决数组第K大元素问题

1. 问题定义与算法选择在编程面试和日常开发中&#xff0c;"数组中的第K个最大元素"是一个经典问题。给定一个未排序的整数数组&#xff0c;我们需要找到其中第K个最大的元素。这个问题看似简单&#xff0c;但不同的解法在效率上差异巨大。最直观的解法是对数组进行排…

作者头像 李华