Skip to content

Install PHPCS globally

Installing PHPCS globally makes PHPCS available for use from anywhere on a local machine. Following these instructions will install:

Note

PHPCS commands on a local machine running Windows may require different formatting than the command examples shown below.

Install

  1. Before beginning installation, ensure that Composer itself is up to date:
composer self-update && composer global update
  1. Run the command below in a terminal. This command can be run to update an existing global installation. Verbose output in the terminal will indicate what is being installed (or updated).
composer g require --dev automattic/vipwpcs -W
  1. The phpcs command should now be in the local machine’s PATH.
$ ls ~/.composer/vendor/bin
phpcbf	phpcs
  1. Check PHPCS to ensure it is up to date.
$ phpcs --version
PHP_CodeSniffer version 3.7.2 (stable) by Squiz (http://www.squiz.net)

Troubleshooting

If the phpcs command does not work, the Composer bin directory on the local machine will need to be added to the PATH environment variable. On most operating systems, the phpcbf and phpcs files are located in the ~/.composer/vendor/bin directory.

On a local machine running Linux, the file path might be ~/.config/composer/vendor/bin. Verify the location of the phpcbf and phpcs files on the user’s local machine, and modify the file path as needed when following the instructions below.

  1. Edit the local machine’s shell profile (e.g., ~/.bash_profile, ~/.zshrc, ~/.bashrc) and add the PATH environment variable. The syntax (and the actual file that the shell loads on startup) will vary depending on the shell being used. For example, in ~/.bash_profile, add the following code to the end of the file:
.bash_profile
export PATH="$HOME/.composer/vendor/bin:$PATH"
  1. After adding and saving the PATH environment variable to the shell profile, either:
    • Open a new terminal window
    • or source the shell profile in the existing terminal window by running: source ~/.bash_profile.
  1. Run the phpcs command again.

Last updated: December 23, 2023

Relevant to

  • WordPress