我想知道是否有办法在没有查询packagist.org的情况下使用composer update
来获取所有包裹。
我的问题是,当我更新本地composer.json
时,我必须运行composer update
,因为我只是在运行composer install
时收到这样的消息:
警告:锁定文件与composer.json中的最新更改不是最新的。您可能会过时的依赖项。运行更新以更新它们。
所以我想要的只是更新依赖项,然后从缓存中获取任何所需的依赖项。我认为检查更新版本的http调用会导致巨大的减速。
答案 0 :(得分:1)
运行点
$ composer update
是更新通过composer.json
所需的所有依赖项。为了确定是否需要更新任何依赖项,composer
连接到https://packagist.org(中央程序包元数据存储库),以查询当前所需的任何程序包是否在与之匹配的较新版本中可用各自的版本限制。
您可以通过配置禁用Packagist:
{
"repositories": [
{
"packagist.org": false
}
]
}
或者,您可以使用私有Packagist或Satis来加速该过程。
一般来说,我鼓励使用
$ composer install
安装composer.lock
中锁定的依赖项,或运行
$ composer require foo/bar:^x.y.z —update-with-dependencies
或运行
$ composer remove foo/bar
添加,更新和删除软件包,而不是编辑composer.json
然后运行
$ composer update
一次更新所有包具有以下缺点
一次将更新限制为一个,可以更轻松地查找问题。此外,没有充分理由一次更新每个依赖项(除非您想要了解应用程序或库是否与持续集成环境中的最新依赖项一起使用)。通常,您希望更新单个依赖项(或一小组依赖项)以便
供参考,见