aut*_*tix 3 dependencies composer-php
我在公司代理后面工作,它只允许连接到定义的 URL 列表。所以我需要与管理员沟通,我的应用程序需要哪些 URL。好吧,在任何一种情况下都需要访问https://getcomposer.org和https://packagist.org。并且最有可能也是https://github.com。但是包(依赖项及其依赖项,以及它们的依赖项的依赖项等)可能需要进一步的连接。
如何找出给定应用程序需要哪些连接(或更好:对于给定的composer.json)?
随着最新版本 composer
$ composer --version
Composer version 1.5.1 2017-08-09 16:07:22
Run Code Online (Sandbox Code Playgroud)
假设你已经跑了
$ composer clear-cache
Run Code Online (Sandbox Code Playgroud)
清除本地缓存(否则作曲家将从本地缓存安装而不是从任何地方下载)并且您已经运行
$ rm -rf vendor
Run Code Online (Sandbox Code Playgroud)
清除vendor目录(否则不需要安装任何东西),并假设从 安装依赖项dist,运行
$ composer install -vvv 2>&1 | grep -oP '(?<=Downloading )http(s)?.*'
Run Code Online (Sandbox Code Playgroud)
但是,根据是否composer.lock存在,这将产生不同的结果:
composer.lock 存在composer 有关于从哪里获取什么依赖项的信息,所以在这种情况下它只会从 GitHub API 下载。
https://api.github.com/repos/symfony/filesystem/zipball/b32a0e5f928d0fa3d1dd03c78d020777e50c10cb
https://api.github.com/repos/symfony/event-dispatcher/zipball/54ca9520a00386f83bca145819ad3b619aaa2485
https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d
https://api.github.com/repos/symfony/debug/zipball/084d804fe35808eb2ef596ec83d85d9768aa6c9d
...
Run Code Online (Sandbox Code Playgroud)
composer.lock 不存在composer将从packagist.org首先下载元数据:
https://packagist.org/packages.json
http://packagist.org/p/provider-2013%2456386a41dbd41eab668ffb05897f08b3d6976a85f637cecc2b4355a8c747f315.json
http://packagist.org/p/provider-2014%2483b2e5e0311688cd390926bf3970c838fe101b3fdd40a9c8c1717a367b3c87a5.json
http://packagist.org/p/provider-2015%24318fb1f4ae87f2f15840c4dd9113d965a3c6da36a45ba1278caacdf0e4471ea7.json
...
Run Code Online (Sandbox Code Playgroud)
然后从 GitHub API 下载数据
https://api.github.com/repos/symfony/filesystem/zipball/b32a0e5f928d0fa3d1dd03c78d020777e50c10cb
https://api.github.com/repos/symfony/event-dispatcher/zipball/54ca9520a00386f83bca145819ad3b619aaa2485
https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d
https://api.github.com/repos/symfony/debug/zipball/084d804fe35808eb2ef596ec83d85d9768aa6c9d
...
Run Code Online (Sandbox Code Playgroud)
笔记
将输出重定向STDERR到STDOUT作为composer输出详细模式下的相关信息到STDERR与
$ composer install -vvv 2>&1 | grep -oP '(?<=Downloading )http(s)?.*'
Run Code Online (Sandbox Code Playgroud)
然后该管道输出到grep,使用正反向预搜索匹配的一切,比赛http(s)?.*之前通过Downloading。
| 归档时间: |
|
| 查看次数: |
1330 次 |
| 最近记录: |