Installation

Requirements

Nextflow can be used on any POSIX-compatible system (Linux, macOS, etc), and on Windows through WSL. It requires Bash 3.2 (or later) and Java 11 (or later, up to 23). You can see which version you have using the following command:

java -version

If you don’t have a compatible version of Java installed in your computer, it is recommended that you install it through SDKMAN!, and that you use the latest LTS version of Temurin. See this website for more information.

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 a self-installing package, in order to make the installation process as simple as possible:

  1. Install Nextflow:

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

    This will create the nextflow executable in the current directory.

    Tip

    You can set export CAPSULE_LOG=none to make the installation logs less verbose.

  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.

    Warning

    Nextflow will update its executable during the self update process, therefore the update can fail if the executable is placed in a directory with restricted permissions.

  4. Confirm that Nextflow is installed correctly:

    nextflow info
    

Updates

With Nextflow installed in your environment, you can update to the latest version using the following command:

nextflow self-update

You can also temporarily switch to a specific version of Nextflow with the NXF_VER environment variable. For example:

NXF_VER=23.10.0 nextflow info

Stable and edge releases

A stable version of Nextflow is released every six months, in the 4th and 10th month of each year.

Additionally, an edge version is released on a monthly basis. The edge releases can be used to access the latest updates and experimental features.

To use the latest edge release, set NXF_EDGE=1 when updating:

NXF_EDGE=1 nextflow self-update

You can also use NXF_VER to temporarily switch to any edge release. For example:

NXF_VER=24.06.0-edge nextflow info

Standalone distribution

Nextflow has a set of core plugins which are downloaded at runtime by default. There is also a standalone distribution (i.e. the all distribution) which comes pre-packaged with all core plugins. This distribution is mainly useful for offline environments.

The installer for the all distribution can be found on the GitHub releases page, under the “Assets” section for a specific release. The installation procedure is the same as for the standard distribution, only using this URL instead of https://get.nextflow.io:

export NXF_VER=23.10.0
curl -s https://github.com/nextflow-io/nextflow/releases/download/v$NXF_VER/nextflow-$NXF_VER-all

Warning

The all distribution does not support third-party plugins. Only the core plugins are supported.