Подтвердить что ты не робот

Lib-OpenSSL Проблема зависимости Laravel и Composer на OSX

Мой вопрос

Короче говоря, когда я запускаю composer update, я получаю следующую ошибку:

  Problem 1
    - tymon/jwt-auth 0.5.4 requires namshi/jose 5.0.* -> satisfiable by namshi/jose[5.0.0, 5.0.1, 5.0.2].
    - tymon/jwt-auth 0.5.5 requires namshi/jose 5.0.* -> satisfiable by namshi/jose[5.0.0, 5.0.1, 5.0.2].
    - tymon/jwt-auth 0.5.6 requires namshi/jose 5.0.* -> satisfiable by namshi/jose[5.0.0, 5.0.1, 5.0.2].
    - tymon/jwt-auth 0.5.7 requires namshi/jose 5.0.* -> satisfiable by namshi/jose[5.0.0, 5.0.1, 5.0.2].
    - tymon/jwt-auth 0.5.8 requires namshi/jose 5.0.* -> satisfiable by namshi/jose[5.0.0, 5.0.1, 5.0.2].
    - tymon/jwt-auth 0.5.9 requires namshi/jose 5.0.* -> satisfiable by namshi/jose[5.0.0, 5.0.1, 5.0.2].
    - tymon/jwt-auth 0.5.1 requires namshi/jose 2.2.* -> satisfiable by namshi/jose[2.2.0, 2.2.1, 2.2.2].
    - tymon/jwt-auth 0.5.2 requires namshi/jose 2.2.* -> satisfiable by namshi/jose[2.2.0, 2.2.1, 2.2.2].
    - tymon/jwt-auth 0.5.3 requires namshi/jose 2.2.* -> satisfiable by namshi/jose[2.2.0, 2.2.1, 2.2.2].
    - tymon/jwt-auth 0.5.0 requires namshi/jose 2.0.* -> satisfiable by namshi/jose[2.0.0, 2.0.1, 2.0.2, 2.0.3].
    - namshi/jose 5.0.2 requires lib-openssl * -> the requested linked library openssl has the wrong version installed or is missing from your system, make sure to have the extension providing it.
    - namshi/jose 5.0.1 requires lib-openssl * -> the requested linked library openssl has the wrong version installed or is missing from your system, make sure to have the extension providing it.
    - namshi/jose 5.0.0 requires lib-openssl * -> the requested linked library openssl has the wrong version installed or is missing from your system, make sure to have the extension providing it.
    - namshi/jose 2.2.2 requires lib-openssl * -> the requested linked library openssl has the wrong version installed or is missing from your system, make sure to have the extension providing it.
    - namshi/jose 2.2.1 requires lib-openssl * -> the requested linked library openssl has the wrong version installed or is missing from your system, make sure to have the extension providing it.
    - namshi/jose 2.2.0 requires lib-openssl * -> the requested linked library openssl has the wrong version installed or is missing from your system, make sure to have the extension providing it.
    - namshi/jose 2.0.3 requires lib-openssl * -> the requested linked library openssl has the wrong version installed or is missing from your system, make sure to have the extension providing it.
    - namshi/jose 2.0.2 requires lib-openssl * -> the requested linked library openssl has the wrong version installed or is missing from your system, make sure to have the extension providing it.
    - namshi/jose 2.0.1 requires lib-openssl * -> the requested linked library openssl has the wrong version installed or is missing from your system, make sure to have the extension providing it.
    - namshi/jose 2.0.0 requires lib-openssl * -> the requested linked library openssl has the wrong version installed or is missing from your system, make sure to have the extension providing it.
    - Installation request for tymon/jwt-auth 0.5.* -> satisfiable by tymon/jwt-auth[0.5.0, 0.5.1, 0.5.2, 0.5.3, 0.5.4, 0.5.5, 0.5.6, 0.5.7, 0.5.8, 0.5.9].

Дополнительная информация

Я очень не уверен в причине этой проблемы, поскольку я не могу быть уверен, когда она возникла. Все, что я знаю, это то, что он работал над пройденными несколькими днями, может быть, даже раньше сегодня...

Есть несколько вещей, которые я сделал сегодня, которые, возможно, вызвали это:

  • Я установил и настроил superisord
  • Я установил и настроил beanstalkd
  • Я установил последние обновления Mac OSX (подробнее здесь: https://support.apple.com/en-gb/HT206230)

Все вышеизложенное может не иметь абсолютно никакого отношения к этому, оно может быть чисто случайным

Что я пробовал

Я проигнорировал количество вещей, которые я пробовал, но вот несколько:

  • Изменение версии "tymon/jwt-auth": "0.5.*" до последней версии alpha (это сработало, но у меня были проблемы с реализацией JWT-Auth), поэтому мне пришлось вернуться
  • Я потратил время на игры с версиями каждой из зависимостей, и пока они это делают, неизбежно меняют сообщение об ошибке, они все еще не исправляют проблему.
  • Я обновил до последней версии openssl, используя brew upgrade openssl. Однако это не обновляло openssl в PHP, поскольку я использую MAMP (я думаю), и у меня нет контроля над тем, какая версия opensl PHP скомпилирована с помощью...

Мои исследования

Я потратил несколько часов на поиск различных сайтов, пытаясь различать вещи и исследуя множество многих потенциальных решений, но ничто еще не решило эту проблему для меня. Это несколько сайтов/страниц, которые я нашел:

4b9b3361

Ответ 2

У меня была такая же проблема на Mac и MAMP, я отследил ее до проверки моей версии PHP на PHP вместо моей версии MAMP. Я решил это, создав символическую ссылку из /usr/local/bin на мой MAMP PHP.

cd /usr/local/bin
sudo ln /Applications/MAMP/bin/php/php7.0.10/bin/php php

Ответ 3

В моем случае это был вопрос не наличия php mcrypt, что означает, что php не был скомпилирован с поддержкой openssl. Установка php70-mcrypt решила его для меня. Помните, что он перекомпилит php.

brew install php70-mcrypt

Мои текущие версии:

  • Homebrew 1.1.1
  • Homebrew/homebrew-core (git ревизия 81b69; последняя фиксация 2016-11-20)
  • PHP 7.0.13 (cli) (построено: 21 ноября 2016 11:26:59) (NTS)
  • OSX El Capitan 10.11.6

Ура!

Ответ 4

Я использую MAMP, поэтому мне нужно сказать, что мой Mac использует версию PHP для MAMP.

В терминале выполните:

nano ~/.bash_profile export PATH=/Applications/MAMP/bin/php/php5.6.27/bin:$PATH

Затем закройте терминал и повторите попытку composer install

Ответ 5

В последней версии Mamp Pro (версия 4.1 во время этого ответа) есть возможность сделать версию PHP Mamp Pro доступной в командной строке, что является самым простым решением, на мой взгляд.

Сначала откройте главное окно MAMP Pro и выберите PHP из левого меню:

Выберите PHP из меню

Затем прямо под тем, где вы выбираете версию PHP для запуска, есть флажок "Сделать эту версию доступной в командной строке".

Флажок, чтобы сделать эту версию доступной в командной строке

Затем просто сохраните изменения и перезагрузите терминал. Если вы наберете php -v, вы увидите обновленную версию PHP.