【发布时间】:2019-02-28 07:20:03
【问题描述】:
我想从一个项目中获取 composer.lock (& .json),并运行一些测试以查看其中是否有过时的包。
composer outdated 似乎要求我先安装所有软件包,
但这有点矫枉过正,因为所有需要的信息都应该在 composer.lock 文件中。
- 安装后是否有可用的信息,但不能从锁定文件中获得?
- 是否可以在不运行
composer install的情况下找到过时的包?
更新 1
我以“foolz/sphinxql-query-builder”作为一个项目的例子。
- 在
composer.json中有一个require['foolz/sphinxql-query-builder'] = '^1.0'。 - 在
composer.lock中有一个packages[] = {name: foolz/sphinxql-query-builder, version: '1.0.2', ...} - 在
~/.cache/composer/repo/https---packagist.org/p-provider-2018-04.json中有一个providers['foolz/sphinxql-query-builder']->sha256 - 在
~/.cache/composer/repo/https---packagist.org/provider-foolz\$sphinxql-query-builder.json中有一个packages['foolz/sphinxql-query-builder']->$version -
我可以从那个文件运行
array_keys((array) $json->packages->{'foolz/sphinxql-query-builder'})
获取可用版本的列表。- 那么如何获取最新的 'provider-foolz\$sphinxql-query-builder.json' 文件?
【问题讨论】:
标签: composer-php