Silvestripe 4.4 无法安装 omnipay/paypal

Silvestripe 4.4 can't instal omnipay/paypal

对于 silverstripe 4.4 和 silvershop,我已经尝试了一百种变体来 omnipay/paypal 安装 composer。

无论我怎样尝试,它都安装不上。

有人在 ss4.4 上使用它吗?

怎么了?

根据您的错误消息,您缺少包裹 php-http/client-implementation

如果你从 Packagist 快速浏览一下,你会发现这个包实际上是一个虚拟包,所以你需要一个将自己定义为 php-http/client-implementation 的包,因为它不是真正的包,所以你必须选择一个。

如果不知道选哪个,可以选择Packagist中的第一个。
不管怎样,我过去对 guzzle 包的印象其实还不错,所以我认为这是一个安全的选择。

所以你可以通过

解决你的问题
composer require php-http/guzzle6-adapter

然后运行

composer require omnipay/paypal

或者您甚至可以一次性完成:

$ composer require php-http/guzzle6-adapter omnipay/paypal
composer require php-http/guzzle6-adapter omnipay/paypal
Using version ^2.0 for php-http/guzzle6-adapter
Using version ^3.0 for omnipay/paypal
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 21 installs, 0 updates, 0 removals
  - Installing php-http/promise (v1.0.0): Downloading (100%)         
  - Installing psr/http-message (1.0.1): Downloading (100%)         
  - Installing psr/http-client (1.0.0): Downloading (100%)         
  - Installing php-http/httplug (v2.0.0): Downloading (100%)         
  - Installing moneyphp/money (v3.2.1): Downloading (100%)         
  - Installing symfony/polyfill-mbstring (v1.12.0): Downloading (100%)         
  - Installing symfony/polyfill-php72 (v1.12.0): Downloading (100%)         
  - Installing symfony/polyfill-intl-idn (v1.12.0): Downloading (100%)         
  - Installing symfony/mime (v4.3.3): Downloading (100%)         
  - Installing symfony/http-foundation (v4.3.3): Downloading (100%)         
  - Installing php-http/discovery (1.7.0): Downloading (100%)         
  - Installing clue/stream-filter (v1.4.1): Downloading (100%)         
  - Installing php-http/message-factory (v1.0.2): Downloading (100%)         
  - Installing php-http/message (1.8.0): Downloading (100%)         
  - Installing guzzlehttp/promises (v1.3.1): Downloading (100%)         
  - Installing ralouphie/getallheaders (3.0.3): Downloading (100%)         
  - Installing guzzlehttp/psr7 (1.6.1): Downloading (100%)         
  - Installing guzzlehttp/guzzle (6.3.3): Downloading (100%)         
  - Installing php-http/guzzle6-adapter (v2.0.1): Downloading (100%)         
  - Installing omnipay/common (v3.0.2): Downloading (100%)         
  - Installing omnipay/paypal (v3.0.2): Downloading (100%)         
moneyphp/money suggests installing ext-bcmath (Calculate without integer limits)
moneyphp/money suggests installing ext-gmp (Calculate without integer limits)
moneyphp/money suggests installing ext-intl (Format Money objects with intl)
moneyphp/money suggests installing florianv/swap (Exchange rates library for PHP)
moneyphp/money suggests installing florianv/exchanger (Exchange rates library for PHP)
moneyphp/money suggests installing psr/cache-implementation (Used for Currency caching)
symfony/polyfill-intl-idn suggests installing ext-intl (For best performance)
php-http/discovery suggests installing puli/composer-plugin (Sets up Puli which is recommended for Discovery to work. Check http://docs.php-http.org/en/latest/discovery.html for more details.)
php-http/message suggests installing zendframework/zend-diactoros (Used with Diactoros Factories)
php-http/message suggests installing slim/slim (Used with Slim Framework PSR-7 implementation)
guzzlehttp/psr7 suggests installing zendframework/zend-httphandlerrunner (Emit PSR-7 responses)
guzzlehttp/guzzle suggests installing psr/log (Required for using the Log middleware)
omnipay/common suggests installing league/omnipay (The default Omnipay package provides a default HTTP Adapter.)
Writing lock file
Generating autoload files

有关虚拟包的更多信息: