PHP的composer是去哪里自动安装的,很神奇

我在linux下直接用composer就可以安装一个symfony laravel,感觉真的很神奇。
他可以自动下载,然后还会输出提示。

我疑问的是composer是从哪里搜索到然后自动下载的,感觉貌似是从git库?
是这样的吗

阅读 7.2k
3 个回答

不要被 @兜兜 的答案误导了.. composer不像 pip 和 npm,它的搜索是在 packagist.org 没错,不过包下载的确还是走的 github 的,因为作者在提交包的时候需要输入Github地址,而且 packlist 也不会自己去抓。

我来把 composer 下载原理过一遍

  1. 根目录,https://packagist.org/packages.json

    按年月向下查找
    
  2. 二级目录,https://packagist.org/p/provider-2017-10$%hash%.json
    如:https://packagist.org/p/provi...

    可找到包名
    
  3. 包地址,https://packagist.org/p/%包名%$%包hash%.json
    如:https://packagist.org/p/1fabi...

    可以看到包的详细信息,版本下载地址等等。
    

dist -> url 即包的下载地址。

一些代理服务就是将上面域名换成自己的,下载链接再改成内网链接,服务端缓存好包,这样不用连外网也可以用 composer。

推荐问题
logo
101 新手上路
子站问答
访问
宣传栏