'Unable to run composer install

I'm trying to run composer install in my project but I have the following error

[Composer\Downloader\TransportException]
The "http://packagist.org/p/provider-2013$43e3f41fbe30a46245103451248f688a727f076a6e90636d19a69a156c17a416.json" file could not be downloaded (HTTP/1.1 400 Received invalid request from Client)

I have tried to run composer self-update and have this error

[Composer\Downloader\TransportException]
The "https://getcomposer.org/version" file could not be downloaded: Failed to enable crypto failed to open stream: operation failed

I'm running Ubuntu 15.04 with apache/php5.6.4/mysql behind a proxy.

I have tried downloading http://curl.haxx.se/ca/cacert.pem and updated my php.ini file with the following

curl.cainfo=/etc/ssl/certs/cacert.pem
openssl.cafile=/etc/ssl/certs/cacert.pem
openssl.capath=/etc/ssl/certs

Running composer diagnose returns this

Checking composer.json: OK
Checking platform settings: OK
Checking git settings: OK
Checking http connectivity to packagist: FAIL
[Composer\Downloader\TransportException] The "http://packagist.org/packages.json" file could not be downloaded (HTTP/1.1 400 Received invalid request from Client)
Checking https connectivity to packagist: OK
Checking HTTP proxy: OK
Checking HTTP proxy support for request_fulluri: FAIL
Unable to assess the situation, maybe packagist.org is down (The "http://packagist.org/packages.json" file could not be downloaded (HTTP/1.1 400 Received invalid request from Client))
Checking HTTPS proxy support for request_fulluri: OK
Checking github.com rate limit: OK
Checking disk free space: OK
Checking composer version: FAIL
You are not running the latest version

And finally openssl_get_cert_locations() returns

  • default_cert_file: /usr/lib/ssl/cert.pem
  • default_cert_file_env: SSL_CERT_FILE
  • default_cert_dir: /usr/lib/ssl/certs
  • default_cert_dir_env: SSL_CERT_DIR
  • default_private_dir: /usr/lib/ssl/private
  • default_default_cert_area: /usr/lib/ssl
  • ini_cafile: /etc/ssl/certs/cacert.pem
  • ini_capath: /etc/ssl/certs

I'm at a total loss as to what's wrong and even more how I can debug this.

I hope there's someone out there can help me!



Solution 1:[1]

same with you. and i found the way to resolve it (for window 10) on internet. 1 - go to folder PATH\xampp\apache and run makecert.bat 2 - add this script to composer.json file

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

Solution 2:[2]

The issue is most likely related to HTTPS enforcement of some sort, given that from the composer diagnose above, the HTTP connectivity tests failed while HTTPS test passed:

Checking HTTP connectivity to packagist: FAIL
...
Checking HTTP proxy support for request_fulluri: FAIL
...
Checking HTTPS proxy support for request_fulluri: OK

Running the below snippet (to force HTTPS on composer) solved the problem for me:

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

Solution Source

Solution 3:[3]

If you are Linux (Ubuntu) user then execute the following commands to solve:

php -r "print_r(openssl_get_cert_locations());"

wget http://curl.haxx.se/ca/cacert.pem

sudo mv cacert.pem /usr/lib/ssl/certs/cert.pem // Note: Create the cert.pem file under certs folder if does not exist.

Solution 4:[4]

Maybe you can try to change you proxy.

http://composer-proxy.jp/

Here is a proxy from Japan. Hope it works for you.

Solution 5:[5]

Try php composer global self-update

Solution 6:[6]

Set the proxy in environment, use this in terminal:

export http_proxy=<proxy>:<port>
export https_proxy=<proxy>:<port>

Solution 7:[7]

if linux - service iptables stop

or close anti-virus ,firewall on Windows

Solution 8:[8]

If nothing above works for you, try deleting the http_proxy environment variable of your system settings "Environment variables"

Solution 9:[9]

try composer global self-update 1.4.1

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Bai Nguyen
Solution 2 NwosuCC
Solution 3 rob006
Solution 4 Rachel Geller
Solution 5 Fernando Soares
Solution 6 krozaine
Solution 7 Nikolay
Solution 8 Alejandra Figueroa
Solution 9 Chinedum