Configure builds /

Available software at build time

These are the languages and tools available to your build during the build process.

Our current build is based on Ubuntu version 20.04 (also called Focal Fossa) and includes the languages and software versions listed below.

There are multiple ways to set the software and language version used for your builds. Learn more about managing your build dependencies.

# Languages

  • Node.js
    • Set the version using the section in the Netlify UI, a NODE_VERSION build environment variable, a .nvmrc file, or a .node-version file.
    • 18 (Default)
    • Any version that nvm can install.
  • Ruby
    • Set the version using build environment variable RUBY_VERSION or a .ruby-version file.
    • 2.7.2 (Default)
    • 2.6.6
    • Any version 2.4.0 or later that rvm can install.
  • Python
    • Set the version using build environment variable PYTHON_VERSION or a runtime.txt or Pipfile file.
    • 3.8 (Default)
    • 2.7
  • PHP
    • Set the version using build environment variable PHP_VERSION.
    • 7.4
    • 8.0 (Default)
    • 8.1
    • 8.2
    • 8.3
  • Go
    • Set the version using build environment variable GO_VERSION.
    • latest 1.19.x (Default)
    • Any version available on the Go downloads page.
  • Java
    • 8 (Default)
  • Emacs
    • 26.3 (Default)
  • Erlang
    • 22.2 (Default)
  • Elixir
    • 1.9.1 (Default)
  • Swift
    • Set the version using build environment variable SWIFT_VERSION or a .swift-version file
    • Not installed by default.
    • Supports any version that swiftenv can install later than 4.x. Versions 4.x and earlier will not work due to incompatible shared libraries.
    • 5.4 is installed if Package.swift is present and no version is specified with SWIFT_VERSION or .swift-version.
  • Rust
    • Not installed by default.
    • Any version that rustup can install.

# Tools

  • Node.js
    • npm
      • Set the version using build environment variable NPM_VERSION.
      • Uses the npm version that corresponds with the installed Node.js version. (Default)
      • Any version that npm can install.
    • Yarn
      • Set the version using build environment variable YARN_VERSION.
      • 1.22.19 (Default)
      • Any version that the Yarn installer can install.
    • pnpm
      • Set the version using packageManager in your package.json file.
      • 7.x (Default)
    • Bower
  • Bun
    • 1.x
  • Deno
    • 1.x
  • Python
    • pip
      • Uses the pip version that corresponds with the installed Python version. (Default)
    • Pipenv
      • Latest version.
  • PHP
    • Composer
  • Emacs
    • Cask
  • Clojure
    • Leiningen
      • stable version
    • Boot
      • 2.5.2
  • Hugo
    • Set the version using build environment variable HUGO_VERSION
    • 0.85.0 extended (Default)
    • Any version that binrc can install.
  • Zola
    • Set the version using build environment variable ZOLA_VERSION. (Formerly Gutenberg - GUTENBERG_VERSION)
    • Any version that binrc can install.
  • jq
    • 1.6
  • ImageMagick
    • 6.9.10 (Default)
  • libvips
    • 8.9.1
  • GNU Make
    • 3.81
  • OptiPNG
    • 0.6.4
  • Doxygen
    • 1.8.17
  • Homebrew - support for Homebrew is in ALPHA
    • Not production ready.
    • May be removed or changed significantly.
    • Any Linux formula is supported.
    • Formulae from a Brewfile.netlify file are installed automatically through brew bundle.
    • HOMEBREW_BUNDLE_FILE is respected.

# Check build cache

In order to make builds run faster, we cache certain directories created when we install your dependencies. You can check which directories are cached by searching for $NETLIFY_CACHE_DIR in the run-build-functions.sh file for your site’s selected build image.

Learn about investigating your site’s build image and dependencies.

Learn more about troubleshooting builds and clearing your build cache.

# Request support for a language or tool

We love hearing from you and using your input to help us build a better web! Let us know about any missing tools and languages.

You can reach us by opening a new request on our Forums.

# Report a bug

If you find an issue, let our support team know by opening a support request in our Forums.

For anything else, you can use the Docs feedback form on the bottom of this docs page as well to provide us feedback and tell us how we can improve!