如何更新单个composer包



我知道我可以使用composer update vendor/package,但这是我的情况。

Composer在更新时非常慢,我安装了大约6个软件包,并从本地文件夹加载了一个本地vcs软件包。当我运行composer update时,即使是针对特定的本地包,composer也会连接到Packagist来寻找其他更新,这个过程非常缓慢,我不知道是我的电脑还是我的互联网。当我运行composer update local/package时,有没有一种方法可以告诉composer只从本地文件夹更新包,而无需联系Packagist并运行它下载的所有重json文件?

注意:我知道如何加载本地composer包。它加载得很完美,只是我在寻找一种方法,告诉composer只需加载本地包,而无需联系Packagist。

"repositories": [
   {
     "type": "vcs",
     "url": "../local/package"
   }
],

我的问题是联系Packagist的速度很慢。运行composer update local/package -vvv表明,即使被告知只更新local/package,它仍然从packagist下载json文件。

有多种方法可以加快Composer的获取速度:

  1. 定义一个自定义repo,它指向本地路径和带有--prefer-sourceinstall

    "repositories": [
        {
            "type":"vcs",
            "url":"/path/to/your/local/package/packageA"
        }
    ],
    "require":{
        "package/packageA" : "dev-master"
    }
    

    后续技巧:如果你确切知道回购的type,那么就指定它!

    换句话说:如果可以指定"type":"git""type":"svn",则不要使用"type":"vcs"。Composer将跳过运行所有的repo适配器来找出正确的一个。

  2. 您可以设置Satis,并只定义项目所需的包及其依赖关系("require-dependencies": "true")。这在包装学家面前起到了包装代理的作用。你只需从当地的Satis镜像/代理那里获取。


尝试一下,禁用默认的Packagist存储库:

{
    "repositories": [
        {
            "packagist": false
        }
    ]
}

相关内容

  • 没有找到相关文章

最新更新