分享

从已有安装包(vendor)恢复 composer.json

拿到的一个项目没有 composer.json,不过 /vendor 目录下是完整存在的。对此我们进行恢复。提供两个方式,都需要通过 /vendor/composer/installed.json 进行恢复。如果不存在则只能手动将所存在的项目逐个取出及对应版本号收集整理。

其一,将上述文件内容所有的包名称及版本号提取出来标准规范写到 composer.json 即可。包多了比较麻烦,推荐使用方式二。

其二,正则匹配提取。

运行 composer show –installed ,程序会将其列表出来,收集提取。

匹配正则:

([A-z0-9\/\-\.]+)\s+([A-z0-9\.\-]+)[\S\s]+?\n

替换正则:

"$1":"$2",####

 

在线正则测试(提取):https://c.runoob.com/front-end/854/ 我们将 composer 返回的内容复制出来,使用正则提取出来并将其替换,最后将其中的 #### 替换为相应的换行符 \r\n ,格式化后将其放置到 composer.json 文件里的 require 或者 require-dev 配置段。

最后,更新。

composer update

 

留言