Sometimes developers that use composer to install packages in their projects lose the composer.json file accidentally. In that case, this package can help by providing alternative methods to rebuild the composer.json file. This package can be used to recover the lost composer dependency list. It can scan the directory of a project that uses the composer tool to find the dependency file list in case it was missed. Currently, it can recover the dependencies from either the composer.lock file or from the vendor/composer/installed.json file.

Programming language: PHP
License: MIT License

composer-recovery alternatives and similar libraries

Based on the "Command Line" category.
Alternatively, view composer-recovery alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of composer-recovery or a related project?

Add another 'Command Line' Library



Helper for recovery composer dependency list (if you lost composer.json) from composer.lock or vendor/composer/installed .json

Build Status

NOTE: It is not file-recovery tool, and it can`t recover composer.json data same as it was in original. It just extracts package list and concrete versions (and also hash for dev-master dependecies) from composer.lock, or, if it absent too, from vendor/composer/installed.json

If recover maked from installed.json - there are no way to separate default and dev dependencies

See [tests/stub/app1_expected.json](tests/stub/app1_expected.json) as an example of result file

NOTE2: If your project under vcs control, you don't need this package. You can easy restore composer.json from previous commit or another branch


composer global require insolita/composer_recovery

Ensure that your ~/.composer/vendor/bin directory declared in $PATH

echo $PATH

if not - you should add it in ~/.bashrc or ~/.profile

Basic Usage:

cd /var/www/myproject && composer-recovery

Supported options:

-p : path to project directory (by default - active directory where script was called)

-o : path to directory where recovered_dependecies.json will be written (by default - same as project directory)

-f : custom file name - (by default - recovered_dependecies.json)

Examples with options:

composer-recovery -p /var/www/myproject/ -o /some/place/for/result/ -f mycomposer.json

composer-recovery -p . -o ../output/