PHP API Google Map для Symfony 4? - PullRequest
       4

PHP API Google Map для Symfony 4?

0 голосов
/ 26 февраля 2020

Мне нужно в моем контроллере рассчитать время в машине, а также расстояние между двумя адресами, поэтому в PHP.

я нахожусь на Symfony 4. Итак, я ищу для пакета, который позволяет мне сделать это.

Я был на Packagist, и я не нашел ничего, что соответствует моим ожиданиям для Symfony 4, кроме этого пакета: https://packagist.org/packages/fungio/google-map-bundle

Но когда я пытаюсь установить его для тестирования (он или все другие пакеты, связанные с картой Google), я получаю такую ​​ошибку:

Не удалось найти версию пакет fungio / google-map-bundle, соответствующий вашей минимальной стабильности (стабильной). Требуйте этого с явным ограничением версии, обеспечивающим желаемую стабильность.

РЕДАКТИРОВАТЬ: я добавил «минимальная стабильность»: «dev» в моем composer. json. Пакет загружается правильно, но теперь у меня есть эта ошибка:

Symfony operations: 1 recipe (51cd62f67b65662de716f98b007199d1)
  - Configuring fungio/google-map-bundle (>=dev-master): From auto-generated recipe
Executing script cache:clear [KO]
 [KO]
!!
!!  In ParameterBag.php line 100:
!!  
!!    You have requested a non-existent parameter "templating.engines".  
!!  
!!
!!
Script @auto-scripts was called via post-update-cmd

Installation failed, reverting ./composer.json to its original content.

И если я пытаюсь загрузить другой пакет, например https://packagist.org/packages/geocoder-php/google-maps-provider

У меня есть сейчас:

composer require geocoder-php/google-maps-provider
Using version ^4.0@dev for geocoder-php/google-maps-provider
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Restricting packages listed in "symfony/symfony" to "4.4.*"
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - geocoder-php/google-maps-provider 4.0.0 requires geocoder-php/common-http ^4.0 -> satisfiable by geocoder-php/common-http[4.0.0, 4.0.0-beta1, 4.1.0, 4.2.0, 4.0.x-dev].
    - geocoder-php/google-maps-provider 4.0.0-beta1 requires geocoder-php/common-http ^4.0 -> satisfiable by geocoder-php/common-http[4.0.0, 4.0.0-beta1, 4.1.0, 4.2.0, 4.0.x-dev].
    - geocoder-php/google-maps-provider 4.0.0-beta2 requires geocoder-php/common-http ^4.0 -> satisfiable by geocoder-php/common-http[4.0.0, 4.0.0-beta1, 4.1.0, 4.2.0, 4.0.x-dev].
    - geocoder-php/google-maps-provider 4.1.0 requires geocoder-php/common-http ^4.0 -> satisfiable by geocoder-php/common-http[4.0.0, 4.0.0-beta1, 4.1.0, 4.2.0, 4.0.x-dev].
    - geocoder-php/google-maps-provider 4.2.0 requires geocoder-php/common-http ^4.0 -> satisfiable by geocoder-php/common-http[4.0.0, 4.0.0-beta1, 4.1.0, 4.2.0, 4.0.x-dev].
    - geocoder-php/google-maps-provider 4.3.0 requires geocoder-php/common-http ^4.0 -> satisfiable by geocoder-php/common-http[4.0.0, 4.0.0-beta1, 4.1.0, 4.2.0, 4.0.x-dev].
    - geocoder-php/google-maps-provider 4.4.0 requires geocoder-php/common-http ^4.0 -> satisfiable by geocoder-php/common-http[4.0.0, 4.0.0-beta1, 4.1.0, 4.2.0, 4.0.x-dev].
    - geocoder-php/google-maps-provider 4.0.x-dev requires geocoder-php/common-http ^4.0 -> satisfiable by geocoder-php/common-http[4.0.0, 4.0.0-beta1, 4.1.0, 4.2.0, 4.0.x-dev].
    - geocoder-php/common-http 4.0.x-dev requires psr/http-message-implementation ^1.0 -> no matching package found.
    - geocoder-php/common-http 4.2.0 requires psr/http-message-implementation ^1.0 -> no matching package found.
    - geocoder-php/common-http 4.1.0 requires psr/http-message-implementation ^1.0 -> no matching package found.
    - geocoder-php/common-http 4.0.0-beta1 requires psr/http-message-implementation ^1.0 -> no matching package found.
    - geocoder-php/common-http 4.0.0 requires psr/http-message-implementation ^1.0 -> no matching package found.
    - Installation request for geocoder-php/google-maps-provider ^4.0@dev -> satisfiable by geocoder-php/google-maps-provider[4.0.0, 4.0.0-beta1, 4.0.0-beta2, 4.1.0, 4.2.0, 4.3.0, 4.4.0, 4.0.x-dev].

Potential causes:
 - A typo in the package name
 - The package is not available in a stable-enough version according to your minimum-stability setting
   see <https://getcomposer.org/doc/04-schema.md#minimum-stability> for more details.
 - It's a private package and you forgot to add a custom repository to find it

Read <https://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.

Installation failed, reverting ./composer.json to its original content.

Ответы [ 2 ]

0 голосов
/ 26 февраля 2020

Ваша проблема с composer, а не Symfony. Как отмечается в сообщении об ошибке, composer не может найти стабильную версию пакета.

Если вы являетесь сопровождающим, вы можете пометить версию, а Packagist должен обновить страницу и показать ее как стабильную версию, или вы можете попросить их пометить выпуск.

Если вы хотите использовать нестабильную версию, вам может потребоваться пакет с @dev, например:

composer require fungio/google-map-bundle:@dev-master

См .: https://getcomposer.org/doc/04-schema.md#package -links

Кроме того, вы можете изменить composer. json и установить минимальную стабильность для зависимостей для dev, но учтите, что это может привести к случайной установке небезопасных пакетов.

См .: https://getcomposer.org/doc/04-schema.md#minimum -stability

Ваш второй composer вопрос немного сложен для расшифровки, но здесь есть подсказка:

geocoder-php/common-http XYZ requires psr/http-message-implementation ^1.0 -> no matching package found.

Ваша зависимость geocoder-php/google-maps-provider зависит от другой зависимости, для которой требуется реализация HTTP-сообщения PSR. Пакет psr/http-message-implementation является только виртуальным пакетом, и вам нужно выбрать реализацию, которая предоставляет необходимый код. Если вы ищете пакет на packagist.org, вы можете найти несколько реализаций. Я могу порекомендовать guzzlehttp/psr7 или nyholm/psr7, но есть из чего выбирать. Ваша команда должна выглядеть примерно так:

composer require geocoder-php/google-maps-provider nyholm/psr7
0 голосов
/ 26 февраля 2020

Вы должны попытаться добавить в dev минимальную стабильность composer. json

"minimum-stability": "dev"
...