Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Global installation of PHP tools with Composer

Global installation of PHP tools with Composer

To install a composer package globally, you run the usual require command, but with the addition of the global modifier. So to install PHPUnit, you would run:

$ composer global require phpunit/phpunit
$ composer global require phpunit/dbunit
$ composer global require phing/phing
$ composer global require phpdocumentor/phpdocumentor
$ composer global require sebastian/phpcpd
$ composer global require phploc/phploc
$ composer global require phpmd/phpmd
$ composer global require squizlabs/php_codesniffer

This will install PHPUnit and all its dependencies into the ~/.composer/vendor/ directory and, most importantly, the phpunit CLI tools are installed into ~/.composer/vendor/bin/.

Simply add this directory to your PATH in your ~/.bash_profile (or ~/.bashrc) like this:

export PATH=~/.composer/vendor/bin:$PATH

and phpunit is now available on your command line.

To keep your tools up to date, you simply do this:

composer global update

To remove a package, you edit ~/.composer/composer.json and then run composer global update.

Copy link

SoftwarePerfectionist commented Oct 18, 2017

Thanks. I installed phpdocumentor in my tiny 1 class library and about shart myself when I saw all the things added. I hate to install these php tools locally to projects when I use them on all projects anyways. Adding all the tools to each project always makes the projects totally littered with too much bloat.

Copy link

gemmadlou commented Nov 7, 2017


Copy link

kiproping commented Nov 7, 2017

In my case I don't have .vendor folder.

Copy link

jawira commented Aug 29, 2018

I definitively would added composer global require hirak/prestissimo, it's not a tool but speeds up downloads a lot.
Also, my bin folder was already added to path... I suppose it's because I installed composer with apt-get install composer.

Copy link

jawira commented Aug 29, 2018

localheinz/composer-normalize it's also a cool tool !

Copy link

bolechen commented Mar 27, 2020

export PATH="$(composer config -g home)/vendor/bin:$PATH"

is more rubust.

Copy link

anndaramola commented Jun 22, 2020


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment