问题
The Latest version of Composer is not pulling Laravel, I thought it could be because of Composer added new secure_http feature for downloading from Packagist and Laravel Packagist are in HTTP. This is what I think, so I need solution. The previous version of Composer doing well. The error showing on my terminal when I was trying to install Laravel installer, is:
Failed to decode response: zlib_decode(): data error Retrying with degraded mode, check https://getcomposer.org/doc/articles/troubleshooting.md#degraded-mode for more info Your configuration does not allow connection to http://packagist.org. See https://getcomposer.org/doc/06-config.md#secure-http for details. http://packagist.org could not be fully loaded, package information was loaded from the local cache and may be out of date Installation failed, reverting ./composer.json to its original content. [Composer\Downloader\TransportException] Your configuration does not allow connection to http://packagist.org. See https://getcomposer.org/doc/06-config.md#secure-http for details.
回答1:
I had the same problem. Found the solution here:Reddit Discussion of the issue
Basically, you have two options:
Revert to previous version, by running
self-update --rollback
Or, downgrade composer by running
composer config -g secure-http false
回答2:
at last this one saved me ,
sudo composer self-update
sudo composer clear-cache
sudo composer config -g secure-http false
sudo composer update --no-scripts
finally done !
回答3:
When running (downgrade composer by running)
composer config -g secure-http false
i still got an exeption
Fatal error: Uncaught Error: Call to undefined method Composer\Package\RootPackage::getConfig() ...
I got a success finaly using additional --no-plugins
composer config -g secure-http false --no-plugins
composer self-update --no-plugins
Hope this helps anyone :)
回答4:
I suggest to enable openssl using:
composer config -g -- disable-tls false
And then you also need to active it in php.in
Open php.ini and search for php_openssl
and you end up like this extension=php_openssl.dll
The php_openssl.dll
file is in ext directory of your php so if you changed php directory and have an error like
PHP Warning: PHP Startup: Unable to load dynamic library
'C:\php\ext\php_openssl.dll' - The specified module could not be found.
in Unknown on line 0
You need to set extension=php_openssl.dll
to extension="your php direcroty"\ext\php_openssl.dll
来源:https://stackoverflow.com/questions/36003429/latest-composer-version-not-pulling-laravel