作曲家内容长度不匹配
Composer Content-Length Mismatch
有时,当我运行 composer update 升级laravel 项目时,可能会出现内容长度不匹配异常。
最后,我得到这个是因为中国的防火墙太糟糕了:DNS中毒了。
那么,如果您像我一样,是否有办法解决它?
首先,运行:
composer config --list --global //this will get the composer home path.
[home] /root/.composer //it's my composer home path.
然后,编辑 config.json,使其像这样:
{
"config": {
"github-protocols": [
"https"
]
},
"repositories": {
"packagist.org": {
"type": "composer",
"url": "https://packagist.org"
}
}
}
这将使 packagist 连接强制 https。
您还可以在项目中配置 composer.json,这是一个 laravel 示例,如下所示:
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": [
"framework",
"laravel"
],
"license": "MIT",
"type": "project",
"require": {
"php": ">=5.5.9",
"laravel/framework": "5.2.*"
},
"config": {
"preferred-install": "dist"
},
"repositories": {
"packagist.org": {
"type": "composer",
"url": "https://packagist.org"
}
}
}
更新
在 Composer v1.2.3 之前,packagist 的存储库密钥是 "packagist"
。在 v1.2.3 中更改为 "packagist.org"
(参见提交 e38ebef)。
我遇到了同样的问题,所以我通过 google 搜索来到这里。
我在本地机器和 docker 机器上都使用 运行 composer 命令。当 运行ning composer install including Composer Content-Length Mismatch
时,我在每台机器上收到了各种错误。
我开始按照建议弄乱我的 composer.json
文件,然后我意识到 macbook 失去了它的 wifi 连接,就像它喜欢做的那样。此外,我在旅行时网络状况不佳。我还被警告说我的作曲家在我的本地机器上已经过时了,无论如何我都应该使用我的 docker VM 来发出命令。我的 docker 工作区容器已经一年没有更新了。
我恢复了 wifi 连接,在我的本地机器上升级了 composer 并安装了 composer 运行 就好了。我假设如果我升级 docker 配置它也可以在那里工作。
我在 Windows 机器上安装 laravel 时遇到了同样的问题,我使用 git bash 用于 运行 以下命令。
composer global require "laravel/installer=~1.1"
我切换到正常的命令提示符,然后它运行没有任何错误。
根据您也可以使用的 Github 来源有一些相同的问题
composer self-update --snapshot
这可能会产生这个:
但之后会自动继续下载
我遇到了同样的问题,我做了两件事
第一次更新composer,从1.4更新到1.7
其次,将互联网连接更改为高速。
只需更改 composer 默认存储库 url:
composer config -g repo.packagist composer https://packagist.org
composer config -g github-protocols https ssh
它更改或设置 packagist 存储库以仅供 https 使用。
这也修复了本地 composer.json 文件的所有问题。
无需弄乱 composer.json 本地或全局文件。
我知道这是一个老问题,但我今天第一次遇到这个问题。
我不确定这里的答案是否有部分帮助,但我总是遇到同样的错误。
不同之处(虽然,这可能只是巧合)是进一步的尝试似乎部分成功:
- 已经下载的 JSON 从缓存中获取(我现在不敢清缓存)
- 一些以前失败的下载成功
- 其他仍然失败
我想如果我继续尝试,我最终会设法下载所有 JSON 个文件。
很明显,问题是Composer无法下载完整文件(确实很大)。
我不认为这是我这边的网络问题:据我所知,它一如既往地工作得很好。
我不明白的是,从昨天开始,是什么让 Composer 的行为发生了变化:我没有更新 Composer,PHP 或其他东西。
此外,即使我最终设法让 Composer 下载所有这些巨大的文件,我第一次清除缓存时,我也可能会再次遇到同样的问题。
我想知道,至少在我的情况下,问题是否出在其他地方,因为我能找到的所有答案都指向这里,每个人似乎都解决了问题:没有更多的错误和快速下载这些 JSON 文件(这不是我的情况)。
通过简单升级 zlib(1g) [deb]
解决了同样的问题
(更准确地说,从 trusty/14.04 到 xenial/16.04,当然都是 LTS ;-)
composer config -g repos.packagist composer https://packagist.jp
我尝试了接受的答案,但它对我不起作用,我尝试了 macbert 的答案和同样的问题,还尝试卸载并安装新的作曲家。无论如何感谢 macbert 和 Alex Chiang 我找到了另一个解决方案。
我认为问题是我的作曲家无法从packagist.org服务器下载数据,所以我将服务器更改为镜像。 运行 按照 cmd 上的命令更改为镜像(我从 here 得到这个镜像)
composer config -g repo.packagist composer https://repo-eu-uk-1.packagist.org
如果这对您不起作用,请尝试使用 https://packagist.org/mirrors
中的其他镜像
无论如何,我在这里列出了相同的列表,即使您无法加载上面的 link
非洲、南非
composer config -g repos.packagist composer https://packagist.co.za
亚洲、中国
composer config -g repos.packagist composer https://mirrors.huaweicloud.com/repository/php
亚洲、中国
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
亚洲、中国
composer config -g repos.packagist composer https://php.cnpkg.org
亚洲、中国
composer config -g repo.packagist composer https://packagist.phpcomposer.com
亚洲、中国
composer config -g repos.packagist composer https://packagist.mirrors.sjtug.sjtu.edu.cn
亚洲、中国
composer config -g repos.packagist composer https://mirrors.cloud.tencent.com/composer/
亚洲、印度
composer config -g repo.packagist composer packagist.in
亚洲、印度
composer config -g repos.packagist composer https://packagist.in
亚洲,印度尼西亚
composer config -g repos.packagist composer https://packagist.vrkansagara.in
亚洲、日本
composer config -g repos.packagist composer https://packagist.jp
亚洲、韩国
composer config -g repos.packagist composer https://packagist.kr
亚洲、泰国
composer config -g repos.packagist composer https://packagist.mycools.in.th/
南美、巴西
composer config -g repos.packagist composer https://packagist.com.br
注意:我没有尝试所有的镜像,如果它不适合你,你可以一个一个地尝试。
Laravel错误内容长度不匹配解决方法
只需要运行一些命令
有时,当我运行 composer update 升级laravel 项目时,可能会出现内容长度不匹配异常。 最后,我得到这个是因为中国的防火墙太糟糕了:DNS中毒了。 那么,如果您像我一样,是否有办法解决它?
首先,运行:
composer config --list --global //this will get the composer home path.
[home] /root/.composer //it's my composer home path.
然后,编辑 config.json,使其像这样:
{
"config": {
"github-protocols": [
"https"
]
},
"repositories": {
"packagist.org": {
"type": "composer",
"url": "https://packagist.org"
}
}
}
这将使 packagist 连接强制 https。 您还可以在项目中配置 composer.json,这是一个 laravel 示例,如下所示:
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": [
"framework",
"laravel"
],
"license": "MIT",
"type": "project",
"require": {
"php": ">=5.5.9",
"laravel/framework": "5.2.*"
},
"config": {
"preferred-install": "dist"
},
"repositories": {
"packagist.org": {
"type": "composer",
"url": "https://packagist.org"
}
}
}
更新
在 Composer v1.2.3 之前,packagist 的存储库密钥是 "packagist"
。在 v1.2.3 中更改为 "packagist.org"
(参见提交 e38ebef)。
我遇到了同样的问题,所以我通过 google 搜索来到这里。
我在本地机器和 docker 机器上都使用 运行 composer 命令。当 运行ning composer install including Composer Content-Length Mismatch
时,我在每台机器上收到了各种错误。
我开始按照建议弄乱我的 composer.json
文件,然后我意识到 macbook 失去了它的 wifi 连接,就像它喜欢做的那样。此外,我在旅行时网络状况不佳。我还被警告说我的作曲家在我的本地机器上已经过时了,无论如何我都应该使用我的 docker VM 来发出命令。我的 docker 工作区容器已经一年没有更新了。
我恢复了 wifi 连接,在我的本地机器上升级了 composer 并安装了 composer 运行 就好了。我假设如果我升级 docker 配置它也可以在那里工作。
我在 Windows 机器上安装 laravel 时遇到了同样的问题,我使用 git bash 用于 运行 以下命令。
composer global require "laravel/installer=~1.1"
我切换到正常的命令提示符,然后它运行没有任何错误。
根据您也可以使用的 Github 来源有一些相同的问题
composer self-update --snapshot
这可能会产生这个:
但之后会自动继续下载
我遇到了同样的问题,我做了两件事
第一次更新composer,从1.4更新到1.7
其次,将互联网连接更改为高速。
只需更改 composer 默认存储库 url:
composer config -g repo.packagist composer https://packagist.org
composer config -g github-protocols https ssh
它更改或设置 packagist 存储库以仅供 https 使用。
这也修复了本地 composer.json 文件的所有问题。 无需弄乱 composer.json 本地或全局文件。
我知道这是一个老问题,但我今天第一次遇到这个问题。
我不确定这里的答案是否有部分帮助,但我总是遇到同样的错误。
不同之处(虽然,这可能只是巧合)是进一步的尝试似乎部分成功: - 已经下载的 JSON 从缓存中获取(我现在不敢清缓存) - 一些以前失败的下载成功 - 其他仍然失败
我想如果我继续尝试,我最终会设法下载所有 JSON 个文件。
很明显,问题是Composer无法下载完整文件(确实很大)。 我不认为这是我这边的网络问题:据我所知,它一如既往地工作得很好。
我不明白的是,从昨天开始,是什么让 Composer 的行为发生了变化:我没有更新 Composer,PHP 或其他东西。
此外,即使我最终设法让 Composer 下载所有这些巨大的文件,我第一次清除缓存时,我也可能会再次遇到同样的问题。
我想知道,至少在我的情况下,问题是否出在其他地方,因为我能找到的所有答案都指向这里,每个人似乎都解决了问题:没有更多的错误和快速下载这些 JSON 文件(这不是我的情况)。
通过简单升级 zlib(1g) [deb]
解决了同样的问题(更准确地说,从 trusty/14.04 到 xenial/16.04,当然都是 LTS ;-)
composer config -g repos.packagist composer https://packagist.jp
我尝试了接受的答案,但它对我不起作用,我尝试了 macbert 的答案和同样的问题,还尝试卸载并安装新的作曲家。无论如何感谢 macbert 和 Alex Chiang 我找到了另一个解决方案。
我认为问题是我的作曲家无法从packagist.org服务器下载数据,所以我将服务器更改为镜像。 运行 按照 cmd 上的命令更改为镜像(我从 here 得到这个镜像)
composer config -g repo.packagist composer https://repo-eu-uk-1.packagist.org
如果这对您不起作用,请尝试使用 https://packagist.org/mirrors
中的其他镜像无论如何,我在这里列出了相同的列表,即使您无法加载上面的 link
非洲、南非
composer config -g repos.packagist composer https://packagist.co.za
亚洲、中国
composer config -g repos.packagist composer https://mirrors.huaweicloud.com/repository/php
亚洲、中国
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
亚洲、中国
composer config -g repos.packagist composer https://php.cnpkg.org
亚洲、中国
composer config -g repo.packagist composer https://packagist.phpcomposer.com
亚洲、中国
composer config -g repos.packagist composer https://packagist.mirrors.sjtug.sjtu.edu.cn
亚洲、中国
composer config -g repos.packagist composer https://mirrors.cloud.tencent.com/composer/
亚洲、印度
composer config -g repo.packagist composer packagist.in
亚洲、印度
composer config -g repos.packagist composer https://packagist.in
亚洲,印度尼西亚
composer config -g repos.packagist composer https://packagist.vrkansagara.in
亚洲、日本
composer config -g repos.packagist composer https://packagist.jp
亚洲、韩国
composer config -g repos.packagist composer https://packagist.kr
亚洲、泰国
composer config -g repos.packagist composer https://packagist.mycools.in.th/
南美、巴西
composer config -g repos.packagist composer https://packagist.com.br
注意:我没有尝试所有的镜像,如果它不适合你,你可以一个一个地尝试。
Laravel错误内容长度不匹配解决方法 只需要运行一些命令