composer php:如何find一个包的确切版本?

假设我正在写一个图书馆A,这取决于另一个图书馆,monolog例如。

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

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

然后我运行“$ php composer.phar install”。

我期待在composer.lock中find安装的版本,但它不在那里:

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

我需要的版本,因为我想我的图书馆绑定到一个特定的版本,例如:如果我发现版本是1.3.5,在我的composer.json我想这样的东西:

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

有任何想法吗?

我知道这是一个古老的问题,但…

 composer.phar show 

将显示所有当前安装的软件包及其版本信息。 (仅在使用现在不推荐使用的-i选项时,才会在以前版本的Composer中显示。)

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

 composer.phar show monolog/monolog 

这将显示很多东西,包括提交MD5散列,源URL,许可证types等。

从技术上讲,“dev-master”是你最终在那里使用的确切版本。 它是开发分支,因此是最新的版本。

查找Composer软件包的可用版本的最佳位置是Packagist,因为这是composer php在安装软件包时加载版本的地方。 monolog版本列在http://packagist.org/packages/monolog/monolog上; 。

它的老问题,但添加答案,这样可以帮助某人,你也可以通过上传composer.josn和composer.lock文件在线检查

http://www.drcomposer.com

希望这可以帮助某人。

你可以用这样的composer php演出:

 composer show package/name 

你可以在github上find它们。

composer php目前在1.1.0 https://github.com/Seldaek/monolog/tags

只要抓住你认为是你需要的标签。