Исправление проблем #

Spread the love

Это список распространенных ошибок в том, как их избежать.

Генеральная #

Композитор запускает тестовый композитор для проверки общих проблем. Перейдите к следующим шагам.

Композитор, обязательно работать с последней версией, Подробнее см. Самообновление.

Убедитесь, что вы используете проверки установщика через curl -sS https://getcomposer.org/installer | php — —check.

Убедитесь, что вы установка поставщиков прямо из вашего композитора.json композитор update -vfr при устранении неполадок, исключить любые записи компилятора или композитора.

  • Очистка кеша Clear-cache Clear-Clearing.
  • Пакет не найден #

    Сделайте двойной чек не имеют опечаток в ваших композициях composer.json или репозиториях и именах тегов.

    Будь уверен установить правильную минимальную стабильность, Минимальная стабильность настройки для «dev».

    пакеты не из пакета всегда должно быть определенные в корневом пакете (пакет зависит от всех поставщиков).

    Использовать тот же поставщик и имя пакета Для всех сторон это не является целью, особенно при поддержании третьей стороны.

    Если вы обновляете, вы можете знать о пакете.

  • Если вы обновляете один пакет, это может зависеть от более новых версий. В этом случае добавьте аргумент —with-dependencies или добавить все зависимости
  • Пакет не найден на travis-ci.org #

    Установите флажок «Пакет не найден» выше.

  • Если пакет был протестирован, это будет проблемой. Если вы ищете его, вы сможете узнать, куда идти. COMPOSER_ROOT_VERSION. Вы можете настроить пакет для as-dev-master. Используйте: before_script: COMPOSER_ROOT_VERSION = dev-master composer.
  • Пакет не найден в Jenkins-build #

    1. Установите флажок «Пакет не найден» выше.
    2. Существует возможность следить за статусом «отдельно стоящий ГОЛОВА». Было показано, что это может быть циклическая зависимость. Вы можете использовать «Дополнительные действия» -> «Проверить свой местный филиал», где будет ваше «местное отделение». Это будет зависеть от выписки.

    У этого есть определение в его composer.json, но он, кажется, игнорируется.

    Свойство конфигурации репозиториев определяется как root-only. Он не унаследован. «Почему рекурсивные загрузки репозиториев композитора не могут быть рекурсивно?» статья. Это работа над ограничением, она перемещает или дублирует композитор.json.

    Я был заперт неожиданными результатами.

    Хотя Composer поддерживает блокировку зависимостей для конкретного синтаксиса коммита, это предостережение. Самый важный из них документирован, но он был упущен:

    Заметка: Это не техническое ограничение, поскольку оно связано с техническим ограничением. Метаданные composer.json все равно будут прочитаны из ветки. Это было бы практическим вопросом.

    Это ограничение ограничено. Поэтому настоятельно рекомендуется не использовать его.

    Необходимо переопределить версию пакета #

    Допустим, ваш проект зависит от пакета A (скажем, 0,1). Но вам нужна другая версия пакета B (скажем, 0,11).

    Вы можете исправить это с помощью псевдонимов версии 0,11 до 0,1:

    См. Псевдонимы для получения дополнительной информации.

    Ошибки ограничения памяти #

    Иногда это сообщение может быть:

    PHP Неустранимая ошибка: Допустимый размер памяти в байтах XXXXXX

    В этом случае PHP memory_limit должен быть увеличен.

    Заметка: Composer внутренне увеличивает memory_limit до 1.5G.

    Чтобы получить текущее значение memory_limit, запустите:

    Попытайтесь ограничить свой файл php.ini (например, /Etc/php5/cli/php.ini для подобных Debian систем):

    COMPOSER_MEMORY_LIMIT переменная среды:

    Или вы можете увеличить лимит с помощью аргумента командной строки:

    Эта проблема также может произойти сама по себе. Для получения дополнительной информации см. Сайт бомбы.

    Влияние Xdebug на Composer #

    Composer автоматически перезапускает PHP без него. Вы можете переопределить это поведение, используя переменную среды: COMPOSER_ALLOW_XDEBUG = 1.

    Composer всегда будет показывать предупреждение, если xdebug используется, но вы можете переопределить это с помощью переменной окружения: COMPOSER_DISABLE_XDEBUG_WARN = 1. Если вы видите это предупреждение неожиданно, процесс перезапуска завершился неудачно: сообщите об этой проблеме.

    «Система не может найти указанный путь» (Windows) #

    1. Откройте regedit.
    2. Найдите ключ автозапуска в HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Command Processor, HKEY_CURRENT_USER \ Software \ Microsoft \ Command Processor или HKEY_LOCAL_MACHINE \ Software \ Wow6432Node \ Microsoft \ Command Processor.
    3. Если это так, удалите их.

    Ограничение скорости API и токены OAuth #

    Из-за ограничений скорости GitHub на их API может случиться, что Composer запрашивает аутентификацию, запрашивая ваше имя пользователя и пароль, чтобы он мог продолжить свою работу.

    Если вы хотите предоставить свои учетные данные GitHub, вы можете использовать следующую процедуру:

    Создайте токен OAuth на GitHub. Подробнее об этом читайте.

  • Конфигурация -g запускает композитор config -g github-oauth.github.com
  • Теперь Composer должен установить / обновить, не запрашивая аутентификацию.

    proc_open (): ошибки с ошибкой fork #

    Если композитор показывает, что proc_open () fork не удалось выполнить некоторые команды:

    PHP Неустранимая ошибка: исключить исключение «ErrorException» с сообщением «proc_open (): fork failed — не может выделить память» в phar

    Это может произойти из-за нехватки памяти VPS и без возможности обмена местами.

    Чтобы включить обмен, вы можете использовать, например:

    После этого урока вы можете сделать постоянный файл подкачки.

    Деградированный режим #

    Из-за некоторых прерывистых проблем в Travis и других системах мы ввели деградированный сетевой режим, который помогает Composer завершить успешно, но отключает несколько оптимизаций.Это автоматически активируется при обнаружении проблемы. Если вы видите эту проблему спорадически, вам, вероятно, не нужно беспокоиться (медленная или перегруженная сеть также может вызывать эти тайм-ауты), но если она появляется неоднократно, вам может понадобиться просмотреть приведенные ниже параметры, чтобы определить и разрешить ее.

    Если вы хотите проверить несколько вещей:

      Если вы используете антивирус ESET, зайдите в «Дополнительные настройки» и отключите «HTTP-сканер» в разделе «Защита веб-доступа»,

    Если вы используете IPv6, попробуйте отключить его. Если это решает ваши проблемы, обратитесь к своему провайдеру или серверу, проблема не в уровне Packagist, а в правилах маршрутизации между вами и Packagist (т. Е. В Интернете в целом). Если вы находитесь на линии электропередачи, вы сможете это исправить. Взгляните на следующий раздел об обходах IPv6.

  • Если вам помогли, сообщите об ошибке.
  • Время ожидания операции (проблемы с IPv6) #

    Вы можете столкнуться с ошибками, если IPv6 настроен неправильно. Общей ошибкой является:

    Мы рекомендуем вам исправить вашу настройку IPv6. Если это невозможно, вы можете попробовать следующие обходные пути:

    Обходной путь Linux:

    В linux кажется, что выполнение этой команды помогает сделать трафик ipv4 более высоким, чем ipv6, что является лучшей альтернативой, чем полностью отключить ipv6:

    Обходной путь Windows:

    Ipv6 полностью боюсь выходить в интернет.

    Обходной способ Mac OS X:

    Получить имя вашего сетевого устройства:

    Отключите IPv6 на этом устройстве (в данном случае «Wi-Fi»):

    Вы можете снова включить IPv6 с помощью:

    То есть, если вы пытаетесь решить проблему, вы будете правы. Это лучший способ добиться успеха для всех.

    Композитор зависает с SSH ControlMaster #

    Когда вы пытаетесь установить пакеты из репозитория Git, и вы используете настройку ControlMaster для своего SSH-соединения, Composer может бесконечно висеть, и вы видите процесс sh в состоянии отсутствия в списке процессов.

    В качестве обходного пути откройте хост Git перед запуском Composer:

    Zip-архивы не распакованы правильно. #

    Композитор может распаковать zipballs, используя либо системный класс zipArchive. Класс ZipArchive предпочтительнее в Windows. Если zip-файлы могут быть разрешениями и символическими ссылками, предпочтительной является утилита unzip. Вам рекомендуется установить его, если вам нужны эти функции.

    Нашел опечатку? Что-то не так в этой документации? Вилка и отредактируйте ее!

    Лицензия MIT.

    Ссылка на основную публикацию
    close-link