如何通过 symfony2 上的现有项目恢复 composer.json?

How recover composer.json by existing project on symfony2?

我必须在 symphony 2 上处理一个没有作曲家配置的项目,但存储库中有文件夹 vendor/*。

我想重新安装作曲家并为现有包生成配置。可能吗?

谢谢!

您应该手动创建裸 composer.json 或使用命令 composer init

然后你可以通过composer show --installed列出vendor文件夹下的所有包。

然后只需为您的 composer.json 生成包含所列值的要求部分。你完成了。您可以使用正则表达式来更轻松地做到这一点。

composer show --installed \
   | awk '{printf "\"%s\": \"^%s\",\n", , }' \
   | sed -r 's:\^v:^:g' \
   >> packages.list
 composer update
 Loading composer repositories with package information
 Updating dependencies (including require-dev)
 Package operations: 0 installs, 1 update, 8 removals       
   - Removing yiisoft/yii2-jui (2.0.7)
   - Removing bower-asset/jquery-ui (1.12.1)
   - Removing phpoffice/phpspreadsheet (1.0.0)
   - Removing psr/simple-cache (1.0.0)
   - Removing guzzlehttp/guzzle (5.0.0)
   - Removing guzzlehttp/ringphp (1.1.0)
   - Removing guzzlehttp/streams (3.0.0)
   - Removing react/promise (v2.5.1)
   - Updating swiftmailer/swiftmailer (v5.4.8 => v5.4.9): Downloading (100%)         
 Writing lock file
 Generating autoload files

我想你可以执行composer update,它会显示所有包,然后composer install ...一个一个