因为我更新了我的composer.json
(我刚刚从"5.0.*
切换到"5.2.*
的symfony
,console
,dotenv
,framework-bundle
,yaml
版本),我有这个错误:
syntax error, unexpected '|', expecting variable (T_VARIABLE)
来自第27行,文件vendor/psr/link/src/EvolvableLinkInterface.php
.
(public function withHref(string|Stringable $href);
)
我决定删除我的兼性参数类型提示之一(例如。Stringable
),它运行良好。
我在PHP 7.4.15
下运行。
你知道我怎样才能修好它吗?
我们在https://github.com/php-fig的好朋友似乎抢先一步使用了只有php8才能使用的联合类型提示。他们不支持php7。出于某种原因,他们从php5升级到了php8。你可以在packagist:
中看到这一点psr/link v1.0.0 vs psr/link v1.1.0
还在:
psr/log v1.1.4 vs psr/log v2.0.0
这也导致了依赖于psr/log和运行php7的Laravel 7的问题。
你需要指定一个旧的包版本:
composer require psr/link "1.0.*"
composer require psr/log "^1.0"