Невозможно использовать PhpParser\Node\Scalar\String в качестве имени класса, поскольку оно зарезервировано

Когда я использую композитор для установки Laravel 5, я получаю эту ошибку:

Невозможно использовать 'PhpParser\Node\Scalar\String' в качестве имени класса, поскольку оно зарезервировано в строке /Applications/XAMPP/xamppfiles/htdocs/learnlaravel5/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php 86

Изображение ошибки здесь

Что случилось?

3 ответа

Решение

Я предполагаю, что вы используете PHP7, иначе вы не получите эту ошибку (?).

В PHP7 String теперь является зарезервированным ключевым словом наряду с некоторыми другими. Библиотека PHP-Parser использовала это ключевое слово, но с тех пор была исправлена ​​в апреле 2015 года. Попробуйте обновить библиотеку PHP-Parser, это должно помочь.

После ответа @SamV эта проблема может привести к post-create-project-cmd не запускать. В результате у вас не будет .env файл. Чтобы компенсировать это, вы можете запустить их вручную из папки вашего проекта в терминале следующим образом.

cp .env.example .env
php artisan key:generate

Вы можете увидеть, какие сценарии фактически выполняются, проверив раздел сценариев composer.json файл.

В php 7 "String" - это специальное имя класса. Лучшее решение - обновить версию Laravel. Но если вам нужно использовать более старую версию, вы можете заменить String на String_В

/vendor/psy/psysh/src/Psy/CodeCleaner/MagicConstantsPass.php

на линии 19 вы найдете два String просто замените их String_,

Другие вопросы по тегам