Command line installer for gt
This repository hosts the installer served at:
The installer sets up a gt command for Linux and macOS shells using either native PHP with Composer or Docker.
Quick install:
- curl https://php.gt/install | sh
Verbose output:
- curl https://php.gt/install | sh -s -- --verbose
Force bash profile selection, adding the path for automatic non-interactive installation:
- curl https://php.gt/install | sh -s -- --shell bash --add-path
The gt command itself is implemented at PHP.GT/GtCommand and installed as the Composer package phpgt/gtcommand.
- Preflight checks run before any prompts:
- Native requirements: php >= 8.4, curl, and either archive support (unzip/7z/PHP zip) or git.
- Docker availability (docker command).
- If neither native nor Docker is viable, the installer explains missing requirements, suggests package-manager install commands, and links to:
- https://php.gt/docs/installer/environments
- If both paths are viable, the user chooses native or docker. If only one is viable, it is selected automatically.
- The installer asks which shell profile to update (bash, zsh, sh), defaulting from:
- --shell override, then parent-process inference, then $SHELL.
- Native path:
- Uses an existing composer executable if present; otherwise it offers to download composer-stable.phar.
- Installs phpgt/gtcommand with composer global require.
- Docker path:
- Uses composer:2 container with mounted Composer home.
- Installs phpgt/gtcommand in that mounted Composer home.
- In both paths, the installer creates an executable launcher named gt in a writable bin directory:
- It prefers /usr/local/bin, with a fallback to ~/.local/bin (or /tmp/.local/bin if HOME is unavailable).
- If the launcher or Composer directory is not on PATH, the installer offers to append an export to the selected shell rc file.
- By default, the installer suppresses noisy command output and shows simple progress feedback for long steps.
- Use --verbose for full command logs.
- gt remains updatable through Composer (phpgt/gtcommand), while the installed launcher stays as the stable entry point.
JetBrains Open Source sponsorship program
