Skip to main content

Nextflow documentation is being migrated from https://nextflow.io/docs/ . Both sites will remain active during the migration.

Installation

Nextflow can be used on any POSIX-compatible system (Linux, macOS, etc), and on Windows through WSL. This page describes how to install Nextflow.

note

New versions of Nextflow are released regularly. See Updating Nextflow for more information about Nextflow release cadence, how to update Nextflow, and how select your version of Nextflow.

Requirements

Nextflow requires Bash 3.2 (or later) and Java 17 (or later, up to 25) to be installed. To see which version of Java you have, run the following command:

java -version
Deprecated in version 24.11.0-edge

Support for Java versions prior to 17 was dropped.

If you don't have a compatible version of Java installed, it is recommended that you install it through SDKMAN!, and that you use the latest Long-Term-Support (LTS) version of Temurin. See Which version of JDK should I use? for more information about different versions of Java.

To install Java with SDKMAN:

  1. Install SDKMAN:

    curl -s https://get.sdkman.io | bash
  2. Open a new terminal.

  3. Install Java:

    sdk install java 17.0.10-tem
  4. Confirm that Java is installed correctly:

    java -version

Install Nextflow

Nextflow is distributed as an easy to use self-installing package. It is also distributed via Conda and as a standalone distribution.

Self-install

To install Nextflow with the self-installing package:

  1. Download Nextflow:

    curl -s https://get.nextflow.io | bash
    warning

    Nextflow updates its executable during the self-install process. An update can fail if the executable is placed in a directory with restricted permissions.

  2. Make Nextflow executable:

    chmod +x nextflow
  3. Move Nextflow into an executable path. For example:

    mkdir -p $HOME/.local/bin/
    mv nextflow $HOME/.local/bin/
    tip

    Ensure the directory $HOME/.local/bin/ is included in your PATH variable. Temporarily add this directory to PATH by setting export PATH="$PATH:$HOME/.local/bin". Add the directory to PATH permanently by adding the export command to your shell configuration file, such as ~/.bashrc or ~/.zshrc. Alternatively, move the nextflow executable to a directory already in your PATH.

  4. Confirm Nextflow is installed correctly:

    nextflow info

Conda

To install Nextflow with Conda:

  1. Create an environment with Nextflow:

    conda create --name nf-env bioconda::nextflow
  2. Activate the environment:

    source activate nf-env
  3. Confirm Nextflow is installed correctly:

    nextflow info
warning

Installing Nextflow via Conda may lead to outdated versions, dependency conflicts, and Java compatibility issues. Using the self-installing package is recommended for a more reliable and up-to-date installation.

Standalone distribution

The Nextflow standalone distribution (i.e., the dist release) is a self-contained nextflow executable that can run without needing to download core dependencies at runtime. This distribution is useful for offline environments as well as building and testing Nextflow locally. The standalone distribution will still download core and third-party plugins at runtime.

To use the standalone distribution:

  1. Download the standalone distribution from Assets section of the GitHub releases page.

  2. Grant execution permissions to the downloaded file. For example:

    chmod +x nextflow-24.10.1-dist
  3. Use it as a drop-in replacement for nextflow command. For example:

    ./nextflow-24.10.1-dist run info

Seqera Platform

You can launch workflows directly from Seqera Platform without installing Nextflow locally.

Launching from Seqera provides you with:

  • User-friendly launch interfaces.
  • Automated cloud infrastructure creation.
  • Organizational user management.
  • Advanced analytics with resource optimization.

Seqera Cloud Basic is free for small teams. Researchers at qualifying academic institutions can apply for free access to Seqera Cloud Pro. See Seqera Platform Cloud to get started.

If you have installed Nextflow locally, you can use the nextflow auth command to authenticate with Seqera and automatically configure workflow monitoring.