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

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

其一,将上述文件内容所有的包名称及版本号提取出来标准规范写到 composer.json 即可。

其二,创建 composer.json ,运行 composer show --installed ,程序会将其列表出来,也需要收集提取。

匹配正则:

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

替换正则:

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

在线正则测试:http://tool.oschina.net/regex/

我们将 composer 返回的内容复制出来,使用正则提取出来并将其替换,最后将其中的 #### 替换为相应的换行符 \r\n ,格式化后将其放置到 composer.json 文件里的 require 或者 require-dev 配置段。

最后,更新。

> composer update
.....
Writing lock file
Generating autoload files

(完)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏赵俊的Java专栏

Python 文件操作

2793
来自专栏杨龙飞前端

http协议缓存小结

缓存可以使用expire方式,设置到期时间,缓存的时间等于expire设置的时间减去当前的时间

2104
来自专栏前端小叙

nodejs的__dirname与__filename

__filename变量获取当前模块文件的带有完整绝对路径的文件名;【包含文件名本身的绝对路径】 __dirname变量获得当前文件所在目录的完整目录名。【不包...

2937
来自专栏蓝天

Exception in thread "main" java.lang.Error: Unresolved compilation problem

初学java,使用eclipse编译时,可能会遇到如下图所示的编译错误(Exception in thread "main" java.lang.Error:...

2810
来自专栏mySoul

Node.js多进程

使用子进程的执行命令,缓存子进程的输出。并将子进程的输出以回调函数参数的形式进行返回

1600
来自专栏不想当开发的产品不是好测试

查看jar包的jdk版本并降级

用解压工具打开jar包(例子都是用7zip) ? 进入到META-INF目录,查看MANIFEST.MF文件,查看Bulid-Jdk,下图就为1.7.0_55版...

2887
来自专栏Petrichor的专栏

pycharm: 跳转 & 回退

2522
来自专栏深度学习之tensorflow实战篇

pycharm 之模块与模块引用

首先在pycharm,创建文件的快捷键ALT+INS,可以将自己常用的模版导入 ? 其次函数的模块调用规则如下图 ? 模块引用并指导源文...

3699
来自专栏河湾欢儿的专栏

常用的dos命令

972
来自专栏闵开慧

centos中tree插件的使用与注意事项

1 tree的安装 yum -y install tree 使用时直接输入tree 目录名,即可显示该目录的树形结构,示例如下: ? 这样查看目录结构一目了然,...

2868

扫码关注云+社区

领取腾讯云代金券