2.8 KiB
Troubleshooting
This is a list of common pitfalls on using Composer, and how to avoid them.
General
-
When facing any kind of problems using Composer, be sure to work with the latest version. See self-update for details.
-
Make sure you have no problems with your setup by running the installer's checks via
curl -s https://getcomposer.org/installer | php -- --check
. -
Ensure you're installing vendors straight from your
composer.json
viarm -rf vendor && composer update -v
when troubleshooting, excluding any possible interferences with existing vendor installations orcomposer.lock
entries.
Package not found
-
Double-check you don't have typos in your
composer.json
or repository branches and tag names. -
Be sure to set the right minimum-stability. To get started or be sure this is no issue, set
minimum-stability
to "dev". -
Packages not coming from Packagist should always be defined in the root package (the package depending on all vendors).
-
Use the same vendor and package name throughout all branches and tags of your repository, especially when maintaining a third party fork and using
replace
.
Package not found in travis-ci
- Check the trouble shooting for "Package not Found" above
- The problem might be that composer is not able to detect the version of the
package properly. If it's a git clone it's alright and it will see the current
branch, but on travis it does shallow clones so that probably fails. The best
solution for travis is to define the version you're on via an environment var
called COMPOSER_ROOT_VERSION. You set it to "dev-master" for example to define
the root package's version as "dev-master".
Use:
before_script: COMPOSER_ROOT_VERSION=dev-master composer install
to export the variable for the call to composer
Memory limit errors
If composer shows memory errors on some commands:
PHP Fatal error: Allowed memory size of XXXXXX bytes exhausted <...>
The PHP memory_limit
should be increased.
Note: Composer internally increases the
memory_limit
to512M
. If you have memory issues when using composer, please consider creating an issue ticket so we can look into it.
To get the current memory_limit
value, run:
php -r "echo ini_get('memory_limit').PHP_EOL;"
Try increasing the limit in your php.ini
file (ex. /etc/php5/cli/php.ini
for
Debian-like systems):
; Use -1 for unlimited or define an explicit value like 512M
memory_limit = -1
Or, you can increase the limit with a command-line argument:
php -d memory_limit=-1 composer.phar <...>