不能使用 'PhpParser\Node\Scalar\String' 作为 class 名称,因为它是保留的
Cannot use 'PhpParser\Node\Scalar\String' as class name as it is reserved
当我使用 composer 安装 Laravel 5 时出现此错误:
Cannot use 'PhpParser\Node\Scalar\String' as class name as it is
reserved in
/Applications/XAMPP/xamppfiles/htdocs/learnlaravel5/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php
on line 86
怎么了?
我假设您使用的是 PHP7,否则您不会收到此错误 (?)。
在 PHP7 中,String
现在与 some others. The PHP-Parser library used this keyword but was since fixed in April 2015 一起成为保留关键字。尝试升级 PHP-Parser 库,这应该会有所帮助。
按照@SamV的回答,这个问题可能会导致post-create-project-cmd
不运行。因此,您将没有 .env
文件。为了弥补这一点,您可以 运行 从终端的项目文件夹中手动设置它们,如下所示。
cp .env.example .env
php artisan key:generate
您可以通过检查 composer.json
文件的脚本部分来了解 运行 实际上是什么脚本。
在php7中'String'是一个特殊的Class名字。
最好的解决方案是升级您的 Laravel 版本。
但是如果你需要使用旧版本,你可以将 String 替换为 String_
在
/vendor/psy/psysh/src/Psy/CodeCleaner/MagicConstantsPass.php
在第 19 行,你会发现两个 String
,只需将它们替换为 String_
.
当我使用 composer 安装 Laravel 5 时出现此错误:
Cannot use 'PhpParser\Node\Scalar\String' as class name as it is reserved in /Applications/XAMPP/xamppfiles/htdocs/learnlaravel5/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php on line 86
怎么了?
我假设您使用的是 PHP7,否则您不会收到此错误 (?)。
在 PHP7 中,String
现在与 some others. The PHP-Parser library used this keyword but was since fixed in April 2015 一起成为保留关键字。尝试升级 PHP-Parser 库,这应该会有所帮助。
按照@SamV的回答,这个问题可能会导致post-create-project-cmd
不运行。因此,您将没有 .env
文件。为了弥补这一点,您可以 运行 从终端的项目文件夹中手动设置它们,如下所示。
cp .env.example .env
php artisan key:generate
您可以通过检查 composer.json
文件的脚本部分来了解 运行 实际上是什么脚本。
在php7中'String'是一个特殊的Class名字。
最好的解决方案是升级您的 Laravel 版本。
但是如果你需要使用旧版本,你可以将 String 替换为 String_
在
/vendor/psy/psysh/src/Psy/CodeCleaner/MagicConstantsPass.php
在第 19 行,你会发现两个 String
,只需将它们替换为 String_
.