如何修复 "https://repo.packagist.org/packages.json does not contain valid Json"?
How to fix "https://repo.packagist.org/packages.json does not contain valid Json"?
我在 vagrantbox (Centos 7) 上遇到了 composer 运行 的问题,它开始突然发生。
我已经手动尝试 运行 下面 link 中提到的 command/solution 但无济于事。
(澄清一下,我使用的是 vagrant 而不是 docker,但这是我发现的最接近的问题我的情况。我发现的大部分信息都与 composer.json 无效相关,但这里是 packagist。org/packages.json 目前有效)
问题详情如下
虽然 运行 composer update
在终端上我得到:
composer update
[Seld\JsonLint\ParsingException]
"https://repo.packagist.org/packages.json" does not contain valid JSON
Parse error on line 1:
^
Expected one of: 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['
并且当 运行 composer install
也在终端上每个包裹 returns 这个:
Failed to download psr/cache from dist: "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8"
appears broken, and returned an empty 200 response
Now trying to download from source
当运行composer config --global repo.packagist composer packagist.org
结果现在
composer update
Loading composer repositories with package information
[Composer\Downloader\TransportException]
Your configuration does not allow connections to http://repo.packagist.org/packages.json. See https://getcomposer.o
rg/doc/06-config.md#secure-http for details.
知道为什么会发生这种情况,我该如何解决?
同样的问题,因为 php 更新到 7.2.17。
在带有 php 7.2.16 composer 运行 的 centos 7 上就好了...
回滚到 7.2.16 是目前唯一找到的解决方案...
编辑:
似乎是 symfony flex 问题:https://github.com/symfony/flex/issues/484
我通过将输出重定向到 /dev/null
绕过了这个问题。
composer require symfony/orm-pack > /dev/null
当我们在控制台运行这个命令
时它会起作用
composer config disable-tls true
也可能与 IPv6 相关,如果您的 provider/system 配置为 IPv6 但没有有效的 IPv6 路由到互联网。
这件事发生在我身上,正在做
sysctl -w net.ipv6.conf.all.disable_ipv6=1
(作为 root),然后再次尝试 composer 解决了这个问题。
要永久应用它,请将规则添加到 /etc/sysctl.conf(或您 OS 首选的任何位置)
我遇到了同样的问题。经过几天的搜索,我找到了解决方案。这似乎是一个 PHP 问题。尝试在 php.ini 上评论一行 curl 扩展。我正在使用 php 5.6 版。
extension=php_curl.dll
类型;在扩展名之前,至少会是这样:
;extension=php_curl.dll
在 XAMP 中我做了以下更改
注释以下行
;扩展名=php_curl.dll
它工作正常
我在尝试安装 symfony twig bundle 时遇到了同样的问题。我 运行 :
set http_proxy=
set https_proxy=
composer require symfony/twig-bundle
成功了
我在 vagrantbox (Centos 7) 上遇到了 composer 运行 的问题,它开始突然发生。
我已经手动尝试 运行 下面 link 中提到的 command/solution 但无济于事。
(澄清一下,我使用的是 vagrant 而不是 docker,但这是我发现的最接近的问题我的情况。我发现的大部分信息都与 composer.json 无效相关,但这里是 packagist。org/packages.json 目前有效)
问题详情如下
虽然 运行 composer update
在终端上我得到:
composer update
[Seld\JsonLint\ParsingException]
"https://repo.packagist.org/packages.json" does not contain valid JSON
Parse error on line 1:
^
Expected one of: 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '['
并且当 运行 composer install
也在终端上每个包裹 returns 这个:
Failed to download psr/cache from dist: "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8"
appears broken, and returned an empty 200 response
Now trying to download from source
当运行composer config --global repo.packagist composer packagist.org
结果现在
composer update
Loading composer repositories with package information
[Composer\Downloader\TransportException]
Your configuration does not allow connections to http://repo.packagist.org/packages.json. See https://getcomposer.o
rg/doc/06-config.md#secure-http for details.
知道为什么会发生这种情况,我该如何解决?
同样的问题,因为 php 更新到 7.2.17。 在带有 php 7.2.16 composer 运行 的 centos 7 上就好了... 回滚到 7.2.16 是目前唯一找到的解决方案...
编辑: 似乎是 symfony flex 问题:https://github.com/symfony/flex/issues/484
我通过将输出重定向到 /dev/null
绕过了这个问题。
composer require symfony/orm-pack > /dev/null
当我们在控制台运行这个命令
时它会起作用composer config disable-tls true
也可能与 IPv6 相关,如果您的 provider/system 配置为 IPv6 但没有有效的 IPv6 路由到互联网。
这件事发生在我身上,正在做
sysctl -w net.ipv6.conf.all.disable_ipv6=1
(作为 root),然后再次尝试 composer 解决了这个问题。
要永久应用它,请将规则添加到 /etc/sysctl.conf(或您 OS 首选的任何位置)
我遇到了同样的问题。经过几天的搜索,我找到了解决方案。这似乎是一个 PHP 问题。尝试在 php.ini 上评论一行 curl 扩展。我正在使用 php 5.6 版。
extension=php_curl.dll
类型;在扩展名之前,至少会是这样:
;extension=php_curl.dll
在 XAMP 中我做了以下更改 注释以下行 ;扩展名=php_curl.dll 它工作正常
我在尝试安装 symfony twig bundle 时遇到了同样的问题。我 运行 :
set http_proxy=
set https_proxy=
composer require symfony/twig-bundle
成功了