Solución: Unable to create PsySH runtime directory. Make sure PHP is able to write to /run/user/1003 in order to continue.

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',
];
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments