The following is a list of operating system-level tools that BLT uses.
Not all of these are absolutely required. Some are required only when using certain features of BLT, such as Selenium-based testing integration.
System-level packages
For installation instructions, see Installing BLT.
Tool | Required | Purpose |
---|---|---|
PHP | Yes | Required by several tools, including Composer, Drush, Robo, and Drupal. BLT requires PHP 7.4 or higher, PHP 8.0 or 8.1 recommended if using BLT 13.x. |
Composer | Yes | Used to manage project-level dependencies for BLT and Drupal. Composer is the default package manager for the PHP community, and is also used by Drupal core. For information about using Composer in conjunction with BLT, see Using Composer to manage dependencies. You can update to the latest version of Composer by using the following command: composer self-update |
Git | Yes | A distributed version control system. It is the VCS tool for the Drupal community. |
Drush | Yes | Command line shell and Unix scripting interface for Drupal. BLT uses Drush to communicate with Drupal from the command line. Drush is both a system level and a project level dependency, which is unusual. It is possible to have one version of Drush on your computer and a different version of Drush used in your project directory. This is useful but frequently causes confusion. Drush uses a special launcher script to look for a copy of Drush that is specific to your project. BLT ships such project-level drush binary in the vendor/bin directory of your project. Your global Drush installation defers to the project level binary when executing drush from a BLT project directory. |
Java | No | Required by Selenium to communicate with Chrome. Selenium is one option for executing JavaScript Behat tests. For more information, see Automated testing. |
ChromeDriver | No | Required by Selenium to communicate with Chrome. Selenium is one option for executing JavaScript Behat tests. For more information, see Automated testing. |
Yarn | No | A package manager for JavaScript. |
nvm | No | Manages multiple versions of NodeJS on a single computer. |
Validation and testing tools
The following tools are installed by BLT with Composer:
- Behat
- PHPUnit
- PHP Code Sniffer
Local environments
For more information, see Local development with BLT.
Continuous integration and continuous delivery solutions
Although you can use any continuous integration (CI) or continuous delivery (CD) tool with BLT, Acquia recommends that you use Code Studio (which requires no additional configuration) or Acquia Pipelines which Acquia provides default configuration for:
For more information, see Continuous integration.
Hosting
Although you can host a BLT project in any Drupal-compatible hosting environment, specific support is provided for Acquia (including Site Factory) with the following services:
- Providing Cloud hooks (and/or Factory hooks).
- Providing Acquia-specific default configuration in
settings.php
. - Structuring project directories to match Cloud Platform repository’s default structure.
Headless Chrome
Headless Chrome is used by default for Behat tests, although you can also use Selenium or PhantomJS.
Note for Docker users
Connections to Headless Chrome will occasionally time out in containerized environments, such as Docker. For discussion and a possible solution, see this issue on GitHub.