Dependencies 如何找出加载包时,编写器需要访问哪些URL?

Dependencies 如何找出加载包时,编写器需要访问哪些URL?,dependencies,composer-php,Dependencies,Composer Php,我正在使用一个公司代理,它只允许连接到一个定义的URL列表。因此,我需要与管理员沟通,了解我的应用程序需要哪些URL。在这两种情况下,都可以访问https://getcomposer.org和https://packagist.org是必需的。而且最有可能是https://github.com。但是包(依赖项及其依赖项,以及依赖项的依赖项等)可能需要进一步的连接 如何找出给定应用程序(或更好的:对于给定的composer.json)需要什么连接?composer只使用Github下载所有依赖项,

我正在使用一个公司代理,它只允许连接到一个定义的URL列表。因此,我需要与管理员沟通,了解我的应用程序需要哪些URL。在这两种情况下,都可以访问
https://getcomposer.org
https://packagist.org
是必需的。而且最有可能是
https://github.com
。但是包(依赖项及其依赖项,以及依赖项的依赖项等)可能需要进一步的连接


如何找出给定应用程序(或更好的:对于给定的
composer.json
)需要什么连接?
composer只使用Github下载所有依赖项,因此只允许Github.com对任何composer.json文件都适用。但是,如果您使用的是任何私有存储库,那么也应该考虑该回购的url。

使用最新版本的
composer

$ composer --version

Composer version 1.5.1 2017-08-09 16:07:22
假设你已经跑了

$ composer clear-cache
$ rm -rf vendor
清除本地缓存(否则composer将从本地缓存安装,而不是从任何地方下载),并且您已运行

$ composer clear-cache
$ rm -rf vendor
要清除
vendor
目录(否则无需安装任何内容),并假设依赖项是从
dist
安装的,请运行

$ composer install -vvv 2>&1 | grep -oP '(?<=Downloading )http(s)?.*'
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
...
然后从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
...
注意

将输出从
STDERR
重定向到
STDOUT
作为
composer
以详细模式将相关信息输出到
STDERR

$ composer install -vvv 2>&1 | grep -oP '(?<=Downloading )http(s)?.*'

$composer安装-vvv 2>&1|grep-oP'(?因此我不需要将
getcomposer.org
packagist.org
添加到白名单中?您需要白名单
https://packagist.org/packages.json
以及
composer
也将尝试从那里下载文件。