如何更正composer的[Composer \ Downloader \ TransportException]错误

时间:2017-05-16 08:56:00

标签: php composer-php

美好的一天人们,我几天来一直遇到这个问题,当我尝试使用composer下载我的php项目的依赖项时我得到了这个错误

c:\wamp64\www\Test>composer global require "fxp/composer-asset-plugin:^1.3.1"
Changed current directory to C:/Users/Nwachukwu Favour/AppData/Roaming/Composer
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)

Installation failed, reverting ./composer.json to its original content.


  [Composer\Downloader\TransportException]
  The "http://packagist.org/p/provider-2014%241cf88bd0ed4076dc091407477ba2a76483e8598ee5365673381262e6c1d40fcf.jso
  n" file could not be downloaded: failed to open stream: HTTP request failed!


require [--dev] [--prefer-source] [--prefer-dist] [--no-plugins] [--no-progress] [--no-update] [--update-no-dev] [--update-with-dependencies] [--ignore-platform-reqs] [--sort-packages] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--] [<packages>]...

我正在运行Windows 10操作系统,并怀疑我的系统无法从命令行下载。如果有人可以帮助我解决这个问题,我会很高兴,因为它阻碍了我的项目。提前谢谢。

11 个答案:

答案 0 :(得分:7)

The issue could be caused by the redirect from http to https. (or your firewall blocking the call)

According to this article the problem could be solved by adding the following to your composer.json:

"repositories": [
    {
         "type": "composer", 
         "url": "https://packagist.org"
    },
    { "packagist": false }
]

Forcing composer to use https connections to Packagist

答案 1 :(得分:3)

您还可以在安装任何依赖项之前在CLI上运行此命令。它迫使作曲家使用https下载所有资源:

composer config -g repo.packagist composer https://packagist.org

答案 2 :(得分:1)

我发现在php.ini-development / production文件中启用OpenSSL扩展解决了该问题。 它位于您的PHP安装中

答案 3 :(得分:1)

只需停止您的防病毒软件:)

由于某种原因,防病毒软件卡巴斯基不喜欢composer :(

我遇到了同样的错误,尝试了所有内容……没有任何效果。

我记得我过去打开AV时曾经遇到过作曲家的问题...将其关闭,作曲家的工作就像一种魅力:)

答案 4 :(得分:1)

我尝试了下面的命令,它起作用了。

composer config -g repo.packagist composer https://packagist.org

这只是上面给出的选项之一。

答案 5 :(得分:0)

我刚刚将作曲家更新为最新版本,此问题已解决。

尝试

composer self-update

要了解当前版本并更新详细信息:

composer diagnose

答案 6 :(得分:0)

我有同样的错误,但是对我来说,解决方法却有所不同。我曾经将sudo赋予composer命令,因为文件夹/home/aspire/.composer具有sudo权限。我将其更改为sudo chown $USER /home/aspire/.composer

我更改了我提到的权限,然后运行了代码

sudo composer require symfony/orm-pack

抛出错误

[Composer\Downloader\TransportException]                                      
  The "https://repo.packagist.org/packages.json" file could not be downloaded:  

然后我尝试了

composer require symfony/orm-pack

有效

如果有人知道确切原因,请发表评论enter image description here

答案 7 :(得分:0)

  1. 更新或删除您的“ http_proxy”变量。
  2. 删除作曲家
  3. 再次安装Composer
  4. 重新启动计算机。

你很好。

答案 8 :(得分:0)

如果您像我一样在中国,请尝试:https://developer.aliyun.com/composer github连接最近不稳定。我先尝试了https://pkg.phpcomposer.com/,但没有用。我尝试了作曲家诊断和作曲家-vvv并在show.cache中放了show缓存文件:C:/Users/Administrator.000/AppData/Local/Composer/repo.so,所以我从同事那里复制了缓存文件,它首先工作, laravel运行,但是composer需要显示404。然后我找到了上面的解决方案。尝试composer update -lock并将存储库URL更改为ali的。并解决了。

答案 9 :(得分:0)

只要把它放在命令中

composer config -g repo.packagist composer https://packagist.org

答案 10 :(得分:-1)

尝试composer diagnose,然后再尝试composer update -vvv