Composer update/create-project/install - Ошибка HTTP-запроса
Недавно я узнал о Laravel 4.2. Затем я переключился на Laravel 5. Все время, когда я использовал композитора, чтобы добавить другие зависимости и прочее, у меня не было никаких проблем.
В прошлый четверг я создал новый проект, используя composer create-project laravel/laravel dir_name --prefer-dist
. Все прошло нормально.
Но с пятницы я ничего не могу сделать. Каждый раз, когда я пытаюсь создать новый проект, обновить зависимости или что-нибудь сделать, есть долгое ожидание (почти как замораживание), а затем ошибки. Обычно они имеют значение HTTP request failed
или проблемы с packagist.org
.
На работе у меня нет никаких проблем. Мой друг тоже. Он работал на моем ПК и внезапно остановился. Пожалуйста, помогите.
C:\xampp\htdocs\dir_name>composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
The "http://packagist.org/p/symfony/routing$0b411061e305b2d7a108caca01c21b859b6a2be133eff320b93e64d8
c5759e2b.json" file could not be downloaded: failed to open stream: HTTP request failed!
http://packagist.org could not be fully loaded, package information was loaded from the local cache
and may be out of date
[here freezes for good (more than 20 minutes), killed]
Мой композитор обновлен:
C:\xampp\htdocs\dir_name>composer self-update
You are already using composer version 9fb2d4f2d642a0749decb41bc2fe4be2bf8bef7a.
C:\xampp\htdocs\dir_name>
И что composer update -vvv
:
C:\xampp\htdocs\dir_name>composer update -vvv
Reading ./composer.json
Loading config file C:/Users/Forien/AppData/Roaming/Composer/config.json
Loading config file C:/Users/Forien/AppData/Roaming/Composer/auth.json
Loading config file ./composer.json
Executing command (CWD): git describe --exact-match --tags
Executing command (CWD): git branch --no-color --no-abbrev -v
Executing command (CWD): hg branch
Executing command (CWD): svn info --xml
Failed to initialize global composer: Composer could not find the config file: C:/Users/Forien/AppDa
ta/Roaming/Composer/composer.json
To initialize a project, please create a composer.json file as described in the https://getcomposer.
org/ "Getting Started" section
Loading composer repositories with package information
Downloading https://packagist.org/packages.json
[freeze for over 15 minutes here, killed]
В доме я за маршрутизаторами, но без прокси-сервера, о котором я знаю. Я понятия не имею, что изменилось. Начиная с composer.json
- даже с новым чистым .json
от laravel/laravel
обновление не запускается должным образом.
Любая помощь оценивается. У вас есть идеи, почему это произошло или как это исправить?
Изменить
composer diagnose
Checking composer.json: OK
Checking platform settings: OK
Checking git settings: OK
Checking http connectivity: FAIL
[Composer\Downloader\TransportException] The "https://packagist.org/packages.json" file could not be
downloaded: SSL: Handshake timed out
Failed to enable crypto
failed to open stream: operation failed
Checking github.com oauth access: OK
Checking disk free space: OK
Checking composer version: OK
Composer.json
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
"laravel/framework": "5.0.*"
},
"require-dev": {
"phpunit/phpunit": "~4.0",
"phpspec/phpspec": "~2.1",
"filp/whoops": "^1.1"
},
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/"
}
},
"autoload-dev": {
"classmap": [
"tests/TestCase.php"
]
},
"scripts": {
"post-install-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-update-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-create-project-cmd": [
"php -r \"copy('.env.example', '.env');\"",
"php artisan key:generate"
]
}
}
Ответы
Ответ 1
Я попробовал это здесь, и я клонировал новый проект laravel5 с композитором.
composer create-project laravel/laravel --prefer-dist
Как и в вашем журнале, вы не можете открыть зависимость маршрутизации, потому что данный json файл отсутствует, и вы получаете ошибку 404. Поэтому я думаю, что любая из ваших зависимостей неверна.
Маршрутизация JSON
У меня нет никаких проблем и можно клонировать новый проект со всеми зависимостями. Хорошо работает. Возможно ли, что вы добавили некоторые зависимые от сторонних сторон некоторые функции в вашем composer.json
и что у проектов больше нет зависимостей или нет?
Что я должен попробовать, так это сначала очистить все кеши.
composer clear-cache
И чтобы быть уверенным, что все работает, вы можете запустить диагностику.
composer diagnose
Затем попробуйте проверить все ваши зависимости. Вот свежий composer.json
.
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
"php": ">=5.5.9",
"laravel/framework": "5.1.*"
},
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~4.0",
"phpspec/phpspec": "~2.1"
},
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/"
}
},
"autoload-dev": {
"classmap": [
"tests/TestCase.php"
]
},
"scripts": {
"post-install-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-update-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-root-package-install": [
"php -r \"copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"php artisan key:generate"
]
},
"config": {
"preferred-install": "dist"
},
"minimum-stability": "dev",
"prefer-stable": true
}
Иногда у меня есть проблема, если я пытаюсь клонировать что-то, на это требуется много времени, пока служба не ответит, а в вашем случае ее долго ждать.
Я бы предложил включить расширение openssl. Вы не можете установить SSL-соединение.
Checking http connectivity: FAIL
[Composer\Downloader\TransportException] The "https://packagist.org/packages.json" file could not be
downloaded: SSL: Handshake timed out
Проверьте, что в вашем phpinfo()
и вы можете сделать еще одну проверку с помощью чистого файла:
<?php
echo file_get_contents("https://packagist.org/packages.json");
Чтобы избежать использования вашей командной строки другим интерпретатором php или другой версией, где openssl не включен, вы можете протестировать ее непосредственно из командной строки.
#php -r 'echo file_get_contents("https://packagist.org/packages.json");'
Последний должен обновить openssl до последней версии или обновить XAMPP, если у вас нет последней версии.
http://windows.php.net/download/
http://indy.fulgan.com/SSL/
Ответ 2
Я уже встречал это с прокси. Проверьте свои env vars на HTTP_PROXY_REQUEST_FULLURI
на false и что HTTP_PROXY и HTTPS_PROXY не настроены на то, с чем они не могут подключиться.
Ответ 3
Несколько вариантов, о которых я могу думать:
-
Он ищет файл
https://packagist.org/p/symfony/routing $0b411061e305b2d7a108caca01c21b859b6a2be133eff320b93e64d8c5759e2b.json
чего явно не существует. Таким образом, одним из вариантов было бы прокомментировать
пакеты, кроме одного, чтобы исключить, какой из них он есть. Затем попробуйте
устанавливая для него другую версию.
-
Проверьте версию PHP.
Что такое версия PHP, которую вы используете? Если 5.3, то, конечно, это будет
быть исправлена путем обновления до более поздней версии. У него есть некоторые проблемы
с SSL.
Ответ 4
найдите cacert.pem
vi/usr/local/lib/php.ini
добавить это
openssl.cafile =/USR/локальные/доли/perl5/Mozilla/CA/cacert.pem
нажмите esc, затем введите
: wq #enter
curl -sS https://getcomposer.org/installer | php -version = 1.0.0-alpha10
mv composer.phar/usr/local/bin/composer
alias composer = '/usr/local/bin/composer'
композитор -V
php/usr/local/bin/composer глобальное самообновление
cd.composer/
композитор init
Ответ 5
Если laravel composer установлен и доступен глобально на вашем компьютере, но вы получаете ошибку при загрузке laravel installer, а затем выполните следующие шаги:
- Открыть cmd как администратор.
- Выполните следующую команду:
диагноз композитора
Проверьте следующие значения высоких значений:
C:\Windows\system32>composer diagnose
Checking platform settings: OK
Checking git settings: OK
**Checking http connectivity to packagist:** OK
**Checking https connectivity to packagist:** WARNING
[Composer\Downloader\TransportException] The "https://packagist.org/packages.jso
n" file could not be downloaded: SSL operation failed with code 1. OpenSSL Error
messages:
error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
Failed to enable crypto
failed to open stream: operation failed
Checking github.com rate limit: OK
Checking disk free space: OK
Checking pubkeys:
Tags Public Key Fingerprint: 57815BA2 7E54DC31 7ECC7CC5 573090D0 87719BA6 8F3BB
723 4E5D42D0 84A14642
Dev Public Key Fingerprint: 4AC45767 E5EC2265 2F0C1167 CBBB8A2B 0C708369 153E32
8C AD90147D AFE50952
OK
Checking composer version: OK
Итак, у меня проблема с OpenSSL из-за настроек моего прокси-сервера.
Чтобы решить, выполните следующие шаги:
Во-первых, убедитесь, что в вашей компании IT deptt. что SSL должен быть включен на вашем компьютере. Затем повторите попытку загрузки установщика laravel. Если он все еще не работает; затем идите дальше.
Получить путь к файлу cacert (в моем случае путь: C:\Users\harshita.kumar\AppData\Roaming\Composer).
Откройте файл php.ini и найдите файл openssl.cafile в файле. Раскомментируйте эту строку, удалив; и укажите путь к нему в файл cacert.
Еще раз проверьте установщик laravel. Он должен/будет работать сейчас.
Надеюсь, это было бы полезно.