如何更新单个作曲家包?
How to update a single composer package?
我知道我可以使用 composer update vendor/package
但这是我的情况。
Composer 更新时非常慢,我安装了大约 6 个包,并从本地文件夹加载了一个本地 vcs 包。当我 运行 composer update
即使是那个特定的本地包,作曲家连接到 Packagist 寻找其他更新,这个过程非常缓慢,我不知道是我的电脑还是我的互联网。当我 运行 composer update local/package
不联系 Packagist 并且 运行 浏览它下载的所有繁重的 json 文件时,有没有一种方法可以告诉作曲家只从本地文件夹更新包?
注:
我知道如何加载本地作曲家包。它加载完美,只是我正在寻找一种方法来告诉作曲家只加载本地包而不联系 Packagist。
"repositories": [
{
"type": "vcs",
"url": "../local/package"
}
],
我的问题是联系 Packagist 很慢。 运行 composer update local/package -vvv
显示它仍然从 packagist 下载 json 文件,即使它被告知只更新 local/package
.
有多种方法可以加快 Composer 的获取速度:
定义一个自定义仓库,它指向一个本地路径和 install
和 --prefer-source
"repositories": [
{
"type":"vcs",
"url":"/path/to/your/local/package/packageA"
}
],
"require":{
"package/packageA" : "dev-master"
}
后续技巧:如果您确切知道 repo 的 type
,则指定它!
换句话说:如果可以指定 "type":"git"
或 "type":"svn"
,则不要使用 "type":"vcs"
。 Composer 将跳过 运行 遍历所有回购适配器以找出正确的适配器。
您可以设置 Satis 并仅为您的项目及其依赖项定义所需的包 ("require-dependencies": "true"
)。这充当 packagist 前面的包代理。您只需从本地 Satis mirror/proxy.
获取
试一试,禁用默认的 Packagist 存储库:
{
"repositories": [
{
"packagist": false
}
]
}
我知道我可以使用 composer update vendor/package
但这是我的情况。
Composer 更新时非常慢,我安装了大约 6 个包,并从本地文件夹加载了一个本地 vcs 包。当我 运行 composer update
即使是那个特定的本地包,作曲家连接到 Packagist 寻找其他更新,这个过程非常缓慢,我不知道是我的电脑还是我的互联网。当我 运行 composer update local/package
不联系 Packagist 并且 运行 浏览它下载的所有繁重的 json 文件时,有没有一种方法可以告诉作曲家只从本地文件夹更新包?
注: 我知道如何加载本地作曲家包。它加载完美,只是我正在寻找一种方法来告诉作曲家只加载本地包而不联系 Packagist。
"repositories": [
{
"type": "vcs",
"url": "../local/package"
}
],
我的问题是联系 Packagist 很慢。 运行 composer update local/package -vvv
显示它仍然从 packagist 下载 json 文件,即使它被告知只更新 local/package
.
有多种方法可以加快 Composer 的获取速度:
定义一个自定义仓库,它指向一个本地路径和
install
和--prefer-source
"repositories": [ { "type":"vcs", "url":"/path/to/your/local/package/packageA" } ], "require":{ "package/packageA" : "dev-master" }
后续技巧:如果您确切知道 repo 的
type
,则指定它!换句话说:如果可以指定
"type":"git"
或"type":"svn"
,则不要使用"type":"vcs"
。 Composer 将跳过 运行 遍历所有回购适配器以找出正确的适配器。您可以设置 Satis 并仅为您的项目及其依赖项定义所需的包 (
"require-dependencies": "true"
)。这充当 packagist 前面的包代理。您只需从本地 Satis mirror/proxy. 获取
试一试,禁用默认的 Packagist 存储库:
{
"repositories": [
{
"packagist": false
}
]
}