composer.json如果丢失,如何确定项目依赖的版本?

php开发项目时,用composer管理依赖,composer.json和composer.lock记录了项目依赖的版本号等信息。当composer.json和composer.lock不慎损害或丢失时,如何确定项目依赖的版本号?在此情况下运行composer require XXX 安装新依赖时,怎么保证系统原理的依赖库不发生更新或变化?
或者换一种提问方式,在系统依赖库已经存在的情况下,如何根据这些系统依赖库反向生成它们对应的composer.json?有没有自动化的方法?

阅读 10.1k
4 个回答

我想知道的是,是不是用了版本控制软件,如果用了,就用版本控制软件恢复。如果没有用,如果在项目目录下有vendor文件夹,就在vendor下面找install.json这个文件,根据这个文件恢复。如果没有的话,那么想要恢复就比较难了,只能通过项目运行的中使用的类来看了。如果你觉得麻烦,在哪里删除的就用文件恢复工具来找回把。这个是最稳妥的方式。

难道没有用版本管理?实在不行就去看vendor的源码,里面依赖都有版本的,composer生成的php文件里面都有详细内容

项目源代码丢失,请问如何凭空恢复?

没这功能. 文件都丢了, 你想让机器根据你的意念来恢复啊.
机器又不是神.
composer.json文件里面并没有记录包自己本身的版本, 只记录了它依赖的版本.
所以恢复不了.

查看一下vendor/composer/install.json文件, 看有没有.
如果有的话, 根据这个文件来恢复试一下.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题