SuperAPI AI 工具集

install-nextflow

部署与运维

查看项目

更新于 10-16 09:34

技能介绍

用途:在用户机器上安装或升级 Nextflow,并确保 Java 前置条件就绪。

主要能力与步骤:

  1. 先检查是否已安装:command -v nextflow && nextflow -version。若已安装,解析版本后进入升级检查;未安装则跳到安装步骤。
  2. 已安装时检查升级:若版本低于 26.04,用户必须升级,其他 Nextflow 技能依赖它;否则仅在有新版本时建议升级。升级命令为 nextflow self-update,运行前需与用户确认,升级后重新验证。已是最新则停止。
  3. 验证 Java 17+:运行 java -version(输出到 stderr,解析时用 java -version 2>&1 | head -1)。缺失或低于 17 时,通过 SDKMAN 安装 Java 21:先检查 [ -s "$HOME/.sdkman/bin/sdkman-init.sh" ],缺失则 curl -s "https://get.sdkman.io" | bash,随后 source "$HOME/.sdkman/bin/sdkman-init.sh" 并 sdk install java 21-tem,再验证 java -version。
  4. 安装 Nextflow:优先 curl,缺失时用 wget。curl 方式为 curl -fsSL https://get.nextflow.io | bash;wget 方式为 wget -qO- https://get.nextflow.io | bash;两者都没有则停止并请用户先安装其一。安装器会在当前目录生成 nextflow 启动器,需移动到 PATH(先与用户确认目标):chmod +x nextflow,mv nextflow ~/.local/bin/。常见替代为 /usr/local/bin/(可能需 sudo)或 PATH 中已有目录。
  5. 最终验证:运行 nextflow -version,确认版本为 26.04 或更高并告知用户。

版本机制:Nextflow 使用日历版本 YY.MM.PATCH(如 25.10.1、26.04.0),按日期而非 semver 比较。边缘版本带 -edge 后缀(如 26.05.0-edge),含未发布特性,不建议用于生产;可用 export NXF_EDGE=1 切换边缘通道,export NXF_EDGE=0 回到稳定通道。可用 NXF_VER 固定版本(如 export NXF_VER=25.10.1),取消则 unset NXF_VER。用户要求特定版本时应设置 NXF_VER 而非重装。

关键规则:先检查版本再决定安装或升级;要求 26.04+;安装前验证 Java 17+;执行 self-update、安装 SDKMAN、移动启动器到系统目录前需征得确认;优先 curl 回退 wget;解析 java -version 记得重定向 stderr;安装或升级后始终验证。

限制:资料未提供对 Windows 原生环境、代理/离线安装或具体发行版包管理的说明,暂未提供。