php - Composer : How to find the exact version of a package?

标签 php dependency-management package-managers composer-php

假设我正在编写一个库 A,它依赖于另一个库,例如 monolog。

我想安装最新版本的monolog,所以我把这个放在composer.json里面:

{
    "require": {
        "monolog/monolog": "*.*.*"
    }
}

然后我运行 $ php composer.phar install

我希望在 composer.lock 中找到已安装的版本,但它不存在:

{
    "hash": "d7bcc4fe544b4ef7561918a8fc6ce009",
    "packages": [
        {
            "package": "monolog/monolog",
            "version": "dev-master",
            "source-reference": "2eb0c0978d290a1c45346a1955188929cb4e5db7"
        }
    ],
    "packages-dev": null,
    "aliases": [

    ],
    "minimum-stability": "dev",
    "stability-flags": [

    ]
}

我需要该版本,因为我想将我的库绑定(bind)到一组特定的版本,例如:如果我发现版本是 1.3.5,我想在我的 composer.json 中输入这样的内容:

    "require": {
        "monolog/monolog": "1.3.*"
    }

有什么想法吗?

最佳答案

我知道这是一个老问题,但是...

composer.phar show

将显示所有当前安装的软件包及其版本信息。 (这仅在使用现已弃用的 -i 选项时在 Composer 的早期版本中显示。)

要查看更多详细信息,请同时指定包的名称:

composer.phar show monolog/monolog

这将显示很多东西,包括提交 MD5 哈希、源 URL、许可证类型等。

关于php - Composer : How to find the exact version of a package?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10684523/

相关文章:

php - pcntl_fork 在 PHP 中如何工作?

java - 如何从 Intellij Maven 项目中永久删除模块?

linux - make 中是否有等同于 -j 的 checkinstall 选项?

java - maven 无法下载 jacoco 0.7.10-SNAPSHOT jar

maven - 依赖管理和范围

node.js - 我可以在不复制公共(public)存储库的情况下运行私有(private) npm 存储库吗?

java - 如何用Maven依赖系统包?

php - 对 .php 文件的 AJAX 请求返回空字符串

php - 如何在 foreach 循环/if 语句中保留变量值

php - 按关联模型与 HasMany 关系 CakePHP 3 排序