# Troubleshooting This is a list of common pitfalls on using Composer, and how to avoid them. ## General 1. When facing any kind of problems using Composer, be sure to **work with the latest version**. See [self-update](../03-cli.md#self-update) for details. 2. Make sure you have no problems with your setup by running the installer's checks via `curl -sS https://getcomposer.org/installer | php -- --check`. 3. Ensure you're **installing vendors straight from your `composer.json`** via `rm -rf vendor && composer update -v` when troubleshooting, excluding any possible interferences with existing vendor installations or `composer.lock` entries. ## Package not found 1. Double-check you **don't have typos** in your `composer.json` or repository branches and tag names. 2. Be sure to **set the right [minimum-stability](../04-schema.md#minimum-stability)**. To get started or be sure this is no issue, set `minimum-stability` to "dev". 3. Packages **not coming from [Packagist](https://packagist.org/)** should always be **defined in the root package** (the package depending on all vendors). 4. 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 1. Check the trouble shooting for "Package not Found" above 2. 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` to `512M`. > If you have memory issues when using composer, please consider [creating > an issue ticket](https://github.com/composer/composer/issues) 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 <...> ## "The system cannot find the path specified" (Windows) 1. Open regedit. 2. Search for an ```AutoRun``` key inside ```HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor``` or ```HKEY_CURRENT_USER\Software\Microsoft\Command Processor```. 3. Check if it contains any path to non-existent file, if it's the case, just remove them.