Composer-> 不包含有效的 JSON

Posted

技术标签:

【中文标题】Composer-> 不包含有效的 JSON【英文标题】:Composer->does not contain valid JSON 【发布时间】:2015-09-23 17:28:15 【问题描述】:

使用:composer search 'tokens' 命令 IDE 抛出了这个错误。我无法从以下位置搜索下载包:packagist.org

C:\ProgramData\ComposerSetup\bin\composer.bat 搜索 fosuserbundle

  [Seld\JsonLint\ParsingException]                                        
  "http://packagist.org/packages.json" does not contain valid JSON        
  Parse error on line 1:                                                  
  <html><HEAD><meta h                                                     
  ^                                                                       
  Expected one of: 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '', '['  



search [-N|--only-name] tokens1 ... [tokensN]

【问题讨论】:

您是否尝试在浏览器中打开网址? 好的,我可以确认服务器上的packages.json文件是好的。 curl -i -H 'Accept:application/json' http://packagist.org/packages.json再试一次? 我直接在 phpStorm 内部使用 composer,使用部署的 ComposerSetup:composer.phar。代理设置或某些本地或公司的防火墙考虑是否存在任何相关问题? 首先,我从命令提示符处检查了 'SET' 行是否已初始化 env 变量。后来我重新开始了。现在一切正常。所有的麻烦都来自使用我公司的代理连接。 【参考方案1】:

在 Windows 机器上,我已经按照所有这些步骤操作并恢复了正确的行为(我的问题发生在 composer require 上,但我相信它与您使用 composer search 描述的相同,或者如果我们将使用例如composer install。那么,让我们看看步骤:

    更新作曲家(`作曲家自我更新) 禁用 IPV6(如pointed in official docs,错误配置的 IPV6 设置是问题的常见来源) 删除(或重命名为 repo_temp)您的文件夹 %LOCALAPPDATA%\Composer\repo(以更新所有内容) 删除(或重命名为 vendor_temp)您项目中的供应商文件夹(以强制 composer 重新下载所有组件,并 as pointed in this thread comment)

在我的情况下,完成这些步骤后,问题就消失了!

之前的消息(错误):

> composer require ...
...

"https://packagist.org/packages.json" does not contain valid JSON
Parse error on line 1:
▼\\\\\\♥��ݎ♀���
^
Expected one of: 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '', '['
https://packagist.org could not be fully loaded, package information was loaded from the local cache and may be out of date

完成步骤后的消息(OK)!:

> composer require ...

...

Writing lock file
Generating autoload files

【讨论】:

以上是关于Composer-> 不包含有效的 JSON的主要内容,如果未能解决你的问题,请参考以下文章

在 AWS Elastic Beanstalk 上安装 Composer.json

JSON 模式 - 如果对象*不*包含特定属性则有效

微信支付 composer 方法 --- 实测有效

使用子命名空间自动加载我的类 (Composer.json)

我该如何解决这个 composer.json 错误

使用composer遇到的问题及解决方法