Cuando trabajamos con Laravel, php artisan tinker
es una herramienta fundamental para interactuar rápidamente con nuestras aplicaciones desde la línea de comandos. Sin embargo, a veces al ejecutar este comando podemos encontrarnos con errores inesperados. Uno de ellos es el siguiente:
Psy\Exception\RuntimeException
Unable to create PsySH runtime directory. Make sure PHP is able to write to /run/user/1003 in order to continue.
at vendor/psy/psysh/src/Configuration.php:632
628▕ $runtimeDir = $this->configPaths->runtimeDir();
629▕
630▕ if (!\is_dir($runtimeDir)) {
631▕ if (!@\mkdir($runtimeDir, 0700, true)) {
➜ 632▕ throw new RuntimeException(\sprintf('Unable to create PsySH runtime directory. Make sure PHP is able to write to %s in order to continue.', \dirname($runtimeDir)));
633▕ }
634▕ }
635▕
636▕ return $runtimeDir;
+18 vendor frames
19 artisan:35
Illuminate\Foundation\Console\Kernel::handle()
Solución
Una solución simple es especificar un directorio alternativo para runtimeDir
, donde tengamos permisos de escritura. Esto se puede hacer creando un archivo de configuración para PsySH en nuestra carpeta de usuario. Aquí te muestro cómo hacerlo:
1. Crea el archivo de configuración de PsySH. Abre un terminal y ejecuta el siguiente comando para crear y editar el archivo:
nano ~/.config/psysh/config.php
2. Agrega la configuración de runtimeDir
. Copia y pega el siguiente código en el archivo que acabas de abrir:
<?php
return [
'runtimeDir' => './.psysh',
];