Laravel 从 5.8 升级到 laravel 6 - 调用未定义的方法 Laravel\Cashier\Cashier::useCurrency()

Laravel upgrade from 5.8 to laravel 6 - Call to undefined method Laravel\Cashier\Cashier::useCurrency()

我刚刚尝试从 laravel 5.8 升级到 laravel 6。

运行 composer update 并在控制台中出现以下错误:

 Script @php artisan package:discover handling the post-autoload-dump event returned with error code 1

 Symfony\Component\Debug\Exception\FatalThrowableError  : Call to undefined method Laravel\Cashier\Cashier::useCurrency()

 at C:\wamp\www\laravel\my-project\app\Providers\AppServiceProvider.php:34
  30|         Paginator::useBootstrapThree();
  31| 
  32|         Stripe::setApiKey(config('services.stripe.secret'));
  33| 
> 34|         Cashier::useCurrency('gbp', '£');

这是什么意思?

您需要咨询 the upgrade guide 收银员。

The useCurrency method has been replaced by a configuration option in the new Cashier configuration file and the usesCurrency method has been removed.

Cashier v10 中有许多重大变化。

从 AppServiceProvider.php

中删除了以下内容
Cashier::useCurrency('gbp', '£'); 

将以下内容添加到 env 文件中:

CASHIER_CURRENCY=gbp
CASHIER_CURRENCY_LOCALE=en_GB