「Composer」 – 如何恢复composer.json文件

文件composer.json不在仓库里,仓库里只有一堆已安装的包,不知道以前的人是怎么想的。我现在要安装一个有着一堆依赖的扩展,我挨个下载???EXM???

现在的任务是恢复composer.json文件。这也是本文要讲述的内容。

#1 创建初始化composer.json文件

在vendor/的同级目录中,创建名为composer.json的空文件。

然后,执行composer init命令执行初始化,并填写信息。

#2 查看已经安装的包

执行命令composer show –installed查看已经安装的vendor/中的包。

当然上述步骤不是必需的。只是说能看见已经安装的包,以及这些包的版本。离成功已经很近了。

执行如下命令,将输出内容复制到composer.json的require中:

#!/bin/sh

composer show --installed 2>/dev/null | awk '{printf "\"%s\" : \"%s\",\n", $1, $2}'

上述命令生成了json格式的包列表。

参考文献

How recover composer.json by existing project on symfony2?
How can I recreate composer.json from the content of the vendor directory?