问题描述
我有一个带有PHP 8.0.0-dev和composer的docker容器。我想创建一个Laravel应用程序来测试新的PHP,但是有一些错误。
当我尝试使用以下命令创建新的laravel项目时:
composer create-project laravel/laravel test
我得到的错误是,即使PHP 8.0.0大于PHP 7.x,我也没有所需的PHP。
Loading composer repositories with package @R_604_4045@ion
Updating dependencies (including require-dev)
Your requirements Could not be resolved to an installable set of packages.
Problem 1
- laravel/framework v5.6.9 requires PHP ^7.1.3 -> your PHP version (8.0.0-dev) does not satisfy that requirement.
- laravel/framework v5.6.8 requires PHP ^7.1.3 -> your PHP version (8.0.0-dev) does not satisfy that requirement.
...
...
我可以以某种方式跳过PHP版本检查吗?
我尝试过
--prefer-dist
和
--ignore-platform-reqs
但我收到此错误:
Problem 1
- Conclusion: don't install laravel/laravel v7.25.0|remove laravel/laravel v7.25.0
- Installation request for laravel/laravel v7.25.0 -> satisfiable by laravel/laravel[v7.25.0].
有什么主意吗?
谢谢!
解决方法
您实际上不能因为Laravel与PHP 8不兼容。您可以在https://github.com/laravel/framework/pull/33388
处看到有关此迁移的请求请求 ,Laravel现在支持PHP 8.0,但是仍然没有更新某些软件包。它也影响一些PHP扩展: https://blog.remirepo.net/pages/PECL-extensions-RPM-status
首先,请确保您使用的是最新版本的Laravel 6、7或8 获得PHP 8支持。然后确保您使用的是最新版本的 Laravel提供的任何第一方软件包,例如Passport,Cashier,Dusk, 等
您还需要几个常用的依赖项 更新您的composer.json文件:
PHP to php:^8.0 Faker to fakerphp/faker:^1.9.1 PHPUnit to phpunit/phpunit:^9.3
最后,运行composer update来更新其他软件包。确保 在更新生产之前测试您的应用程序。而已!享受PHP 8!
来源:https://blog.laravel.com/laravel-php-8-support
,您正在尝试安装 Laravel 5。 对于 PHP 8,您至少需要 laravel 6,7 或 8 我更喜欢laravel 8(最后一个)
如果您根据 laravel 8 文档使用 docker,则可以使用以下命令创建项目:
curl -s https://laravel.build/example-app |猛击