Я использовал Tinker раньше, но вдруг он перестал работать, независимо от того, какой проект, какая версия, новая или существующая. Я на MacBook Pro 2013, Mac OS Sierra, iterm2 с Zsh. Я исследовал все и не нашел ничего уместного за исключением одной ссылки в переполнении стека на https://github.com/bobthecow/psysh/issues/382 который не показывает разрешение, не специфичен для laravel, но, похоже, включает в себя оболочку psy (все остальные команды ремесленника хороши):
бродяга @ усадьба: ~ / код / приложение $ php ремесленник тинкер
[ErrorException]
Writing to /home/vagrant/.config/psysh is not allowed.
Это ошибка, которую мне показывают. Vagrant настраивается через виртуальный ящик под управлением усадьбы-7.
Когда я запускаю ssh в vagrant и ls -la, я вижу папку .config, но не могу получить к ней доступ и не могу mkdir mvdir из-за ошибок, связанных с доступом. (Что, если я узнаю из трассировки стека ниже, где происходит ошибка? Вершина трассы, где находится touchfilemkdir?) Сама папка принадлежит vagrant. Я могу понять, где происходит ошибка, но я не знаю, почему она может быть вызвана, независимо от того, какую версию laravel я использую, будь то существующий проект или новая загрузка.
В рамках самих проектов Laravel у меня есть
"laravel/tinker": "~1.0",
в composer.json и
/*
* Package Service Providers...
*/
Laravel\Tinker\TinkerServiceProvider::class
находится в app / cofig / app.php.
Я выполнил многословную трассировку стека, хотя я не совсем уверен, на что она указывает, что сломалось или почему.
Exception trace:
() at
/home/vagrant/Code/lightpointLP/vendor/psy/psysh/src/Psy/ConfigPaths.php:213
Illuminate\Foundation\Bootstrap\HandleExceptions->handleError() at n/a:n/a
trigger_error() at /home/vagrant/Code/lightpointLP/vendor/psy/psysh/src/Psy/ConfigPaths.php:213
Psy\ConfigPaths::touchFileWithMkdir() at /home/vagrant/Code/lightpointLP/vendor/psy/psysh/src/Psy/Configuration.php:361
Psy\Configuration->setHistoryFile() at /home/vagrant/Code/lightpointLP/vendor/psy/psysh/src/Psy/Configuration.php:409
Psy\Configuration->getHistoryFile() at /home/vagrant/Code/lightpointLP/vendor/psy/psysh/src/Psy/Configuration.php:546
Psy\Configuration->getReadline() at /home/vagrant/Code/lightpointLP/vendor/psy/psysh/src/Psy/Shell.php:82
Psy\Shell->__construct() at /home/vagrant/Code/lightpointLP/vendor/laravel/tinker/src/Console/TinkerCommand.php:53
Laravel\Tinker\Console\TinkerCommand->handle() at n/a:n/a
call_user_func_array() at /home/vagrant/Code/lightpointLP/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:29
Illuminate\Container\BoundMethod::Illuminate\Container\{closure}() at /home/vagrant/Code/lightpointLP/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:87
Illuminate\Container\BoundMethod::callBoundMethod() at /home/vagrant/Code/lightpointLP/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:31
Illuminate\Container\BoundMethod::call() at /home/vagrant/Code/lightpointLP/vendor/laravel/framework/src/Illuminate/Container/Container.php:539
Illuminate\Container\Container->call() at /home/vagrant/Code/lightpointLP/vendor/laravel/framework/src/Illuminate/Console/Command.php:182
Illuminate\Console\Command->execute() at /home/vagrant/Code/lightpointLP/vendor/symfony/console/Command/Command.php:264
Symfony\Component\Console\Command\Command->run() at /home/vagrant/Code/lightpointLP/vendor/laravel/framework/src/Illuminate/Console/Command.php:167
Illuminate\Console\Command->run() at /home/vagrant/Code/lightpointLP/vendor/symfony/console/Application.php:874
Symfony\Component\Console\Application->doRunCommand() at /home/vagrant/Code/lightpointLP/vendor/symfony/console/Application.php:228
Symfony\Component\Console\Application->doRun() at /home/vagrant/Code/lightpointLP/vendor/symfony/console/Application.php:130
Symfony\Component\Console\Application->run() at /home/vagrant/Code/lightpointLP/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:122
Illuminate\Foundation\Console\Kernel->handle() at /home/vagrant/Code/lightpointLP/artisan:35
Если может потребоваться какая-либо другая информация, я буду рад предоставить ее, я действительно в растерянности относительно того, что произошло или как это исправить.
Спасибо
ОБНОВЛЕНИЕ 31 августа
Итак, я обнаружил, что когда я нахожусь в vagrant @ homestead и когда я нахожусь в root @ homestead: / home / vagrant # и я вхожу в .config, есть каталог configstore и каталог psysh, но он принадлежит root , Я сменил владельца на vagrant, вышел, перезагрузил vagrant и повторил ту же ошибку.
drwx------ 2 root root 4096 May 4 00:55 configstore
drwxr-xr-x 2 vagrant vagrant 4096 Aug 31 23:37 psysh
Тогда я попробовал sudo -i и получил root @ hometead, но обнаружил, что содержимое .config было другим. На этот раз у него есть каталог .composer и psysh не существует. Поэтому я добавил каталог psysh с vagrant в качестве владельца
drwxr-xr-x 2 root root 4096 Feb 26 2017 composer
drwxr-xr-x 2 vagrant vagrant 4096 Aug 31 23:59 psysh
но это все еще также не работает. Я также вышел, перезагрузил vagrant, я config: очищен на обоих, но я получаю то же самое неспособное написать ошибку.
Я в растерянности, любое понимание поможет, пожалуйста. Спасибо!
Похоже, это проблема с PsySH http://psysh.org/.
Я не могу ответить на вопрос, но похоже, что у этого парня была та же проблема. Может быть, стоит его схватить и спросить, как он это исправил.
https://github.com/bobthecow/psysh/issues/382
Вы пробовали запустить обновление композитора? Удачи.
После дальнейших исследований и испытаний решили открыть новый вопрос, поскольку он выходит за рамки того, что изначально казалось неправильным.
У меня была точно такая же проблема, и она сохранялась в течение нескольких дней. Я исправил это, запустив composer dump-autoload
из каталога проекта. Ранее я пробовал команду, но она не работала, потому что я пробовал ее без доступа к Интернету, убедитесь, что вы подключены к Интернету при запуске команды. Удачи!
Я пытался обновить композитор, дамп-автозагрузка, но ничего не получалось. Просто поменял разрешение на папку ~. / Config и все заработало. Вы можете установить 755 или выше (я не говорю о производственной среде здесь).
Я выполнил следующую команду на моем терминале:
sudo chmod -R 775 ~/.config