使用laravel 5.2安装Omnipay

时间:2016-01-30 18:52:13

标签: php laravel-5 composer-php omnipay

我正在使用Laravel 5.2开发电子商务网站,并尝试通过composer安装Omipay(付款处理库)。但是当我尝试时,作曲家会抛出以下错误。

Your requirements could not be resolved to an installable set of packages.

Problem 1
- Conclusion: don't install omnipay/omnipay 2.3.2
- Conclusion: don't install omnipay/omnipay v2.3.1
- Conclusion: remove symfony/http-foundation v3.0.1
- Installation request for omnipay/omnipay ^2.3 -> satisfiable by omnipay/omnipay[2.3.2, v2.3.0, v2.3.1].
- Conclusion: don't install symfony/http-foundation v3.0.1
- omnipay/omnipay v2.3.0 requires omnipay/common ~2.3.0 -> satisfiable by omnipay/common[2.3.2, v2.3.0, v2.3.1, v2.3.3, v2.3.4].
- omnipay/common 2.3.2 requires symfony/http-foundation ~2.1 -> satisfiable by symfony/http-foundation[v2.1.0, v2.1.1, v2.1.10, v2.1.11, v2.1.12, v2.1.13, v2.1.2, v2.1.3, v2.1.4, v2.1.5, v2.1.6, v2.1.7, v2.1.8, v2.1.9, v2.2.0, v2.2.1, v2.2.10, v2.2.11, v2.2.2, v2.2.3, v2.2.4, v2.2.5, v2.2.6, v2.2.7, v2.2.8, v2.2.9, v2.3.0, v2.3.1, v2.3.10, v2.3.11, v2.3.12, v2.3.13, v2.3.14, v2.3.15, v2.3.16, v2.3.17, v2.3.18, v2.3.19, v2.3.2, v2.3.20, v2.3.21, v2.3.22, v2.3.23, v2.3.24, v2.3.25, v2.3.26, v2.3.27, v2.3.28, v2.3.29, v2.3.3, v2.3.30, v2.3.31, v2.3.32, v2.3.33, v2.3.34, v2.3.35, v2.3.36, v2.3.37, v2.3.4, v2.3.5, v2.3.6, v2.3.7, v2.3.8, v2.3.9, v2.4.0, v2.4.1, v2.4.10, v2.4.2, v2.4.3, v2.4.4, v2.4.5, v2.4.6, v2.4.7, v2.4.8, v2.4.9, v2.5.0, v2.5.1, v2.5.10, v2.5.11, v2.5.12, v2.5.2, v2.5.3, v2.5.4, v2.5.5, v2.5.6, v2.5.7, v2.5.8, v2.5.9, v2.6.0, v2.6.1, v2.6.10, v2.6.11, v2.6.12, v2.6.13, v2.6.2, v2.6.3, v2.6.4, v2.6.5, v2.6.6, v2.6.7, v2.6.8, v2.6.9, v2.7.0, v2.7.1, v2.7.2, v2.7.3, v2.7.4, v2.7.5, v2.7.6, v2.7.7, v2.7.8, v2.7.9, v2.8.0, v2.8.1, v2.8.2].

请告诉我解决方案我该如何解决?

由于

3 个答案:

答案 0 :(得分:5)

Omnipay尚未与Symfony 3或Laravel 5.2兼容,因为它依赖于Guzzle 3. Omnipay 3.0版本的工作正在进行,这将解决这种依赖性。与此同时,我建议使用长期支持的Laravel 5.1开发您的站点,并在omnipay 3发布后升级到laravel 5.2

答案 1 :(得分:3)

要将Omnipay与Laravel 5.2配合使用,您需要在尝试使用Omnipay之前明确要求symfony/http-foundation:^2.8

这是必需的,因为Laravel 5.2默认使用symfony/http-foundation:3.0.*。但是,Laravel 5.2也被配置为接受Omnipay也接受的symfony/http-foundation:2.8.*

答案 2 :(得分:1)

从官方文档here开始,Important Note: Compatibility with Symfony 3 Event Dispatcher -

中提到了一件事
  

如果您使用的是Symfony 3(或Symfony 3组件),请注意   Omnipay 2.x仍然依赖于Guzzle3,后者依赖于Guzzle3   symfony / event-dispatcher 2.x.这与Symfony 3(标准版)相冲突   安装),所以无法安装。 Omnipay 3.x的开发仍然是   目前正在进行中。

     

如果您只是使用Symfony 3组件(例如,独立或   Silex / Laravel等),您可以尝试强制安装   symfony / event-dispatcher:^ 2.8,与Symfony 3兼容   组件和Guzzle 3。

     

composer require symfony/event-dispatcher:^2.8

所以,我试过这样 -

composer require symfony/http-foundation:2.8.*

之后,我试过了 -

composer require omnipay/paypal:~2.0

而这 -

composer require omnipay/coinbase:~2.0

一切正常:)。