【问题标题】:How can I recreate composer.json from the content of the vendor directory?如何从供应商目录的内容中重新创建 composer.json?
【发布时间】:2023-03-04 13:10:01
【问题描述】:

我有一个项目,我正在使用composer

但是,我丢失了我的composer.json

有没有办法根据vendor 目录的内容重新创建composer.json

【问题讨论】:

标签: composer-php


【解决方案1】:

通过检查可以轻松识别已安装的依赖项

vendor
└── composer
    └── installed.json

但是,您将面临以下问题:

直接和间接依赖

installed.json 列出所有已安装的依赖项,即两者都

  • 直接
  • 间接

依赖关系。

直接依赖项是在 requirerequire-dev 部分。

间接依赖是你直接依赖的依赖。

也就是说,虽然您可以通过编程方式解析 installed.json 和 收集其中列出的依赖项,您需要决定 无论这些是直接或间接依赖,还是在其他 换句话说,你是否想要明确需要这些依赖 composer.json.

生产和开发依赖关系

installed.json 列出所有已安装的依赖项,即依赖 关于你是否跑步

$ composer install

$composer install --no-dev

在您丢失composer.json 之前,installed.json 将包含

中列出的直接和间接依赖项
  • requirerequire-dev
  • require

部分,分别。

也就是说,您需要自己决定这些是否 应该在

中列出的依赖项
  • require
  • require-dev

部分。

了解更多关于目的和它们之间的区别 部分。

版本限制

installed.json 列出所有已安装的依赖项,准确 安装的版本。

但是,你丢失的composer.json很可能没有列出 具有确切版本的依赖项,但使用多种可能性之一 用于指定版本约束。

也就是说,您需要自己决定是要使用精确的版本,还是放宽约束,例如,使用

  • ~ 运算符
  • ^ 运算符

了解有关版本限制的更多信息。

【讨论】:

    猜你喜欢
    • 2017-05-02
    • 2013-10-31
    • 2014-12-08
    • 1970-01-01
    • 2017-09-07
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    相关资源
    最近更新 更多