文件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?