> Faqs > Cómo arreglar el enlace simbólico al migrar un proyecto a Homestead con Laravel

Cómo arreglar el enlace simbólico al migrar un proyecto a Homestead con Laravel

Estoy en esta situación: Tenía el proyecto Laravel funcionando en local con Vagrant. Por motivos que no vienen al caso he tenido que migrar los proyectos a una máquina virtual, por lo que uso Homestead.

Al migrar el proyecto, configurando todo lo necesario, funciona bien, excepto que no se encuentran los archivos que están en la carpeta "storage" y "storage/public".

El enlace simbólico se hizo en su momento con php artisan storage:link y en local funcionan bien, pero no cuando el proyecto se ejecuta dentro de Homestead. ¿Qué hay que hacer con ese enlace simbólico para que funcione?

Responder la pregunta
Editar Hacer otra preguntaPreguntar

Respuestas

Al estudiar este caso en detalle, veo que el enlace simbólico tiene esta forma:

storage -> /Users/midesweb/sites/guiarte/gglobal/storage/app/public

Está dirigido mediante una ruta absoluta a mi carpeta en local, pero esa carpeta no es así en la máquina de Homestead, por lo tanto no encuentra los recursos que están en "storage". La solución es crear una ruta relativa para ese enlace simbólico, de modo que puedan funcionar tanto en local como en la máquina virtual.

Primero borramos el enlace simbólico:

Desde la raíz de tu proyecto haces este comando:

rm public/storage

Ahora, también desde la raíz del proyecto, haces este otro comando para volver a crear el enlace simbólico con una ruta relativa.

ln -s ../storage/app/public public/storage

Con esto he sustituido el enlace simbólico y he podido ver de nuevo los archivos de storage/public.

Miguel Angel
1791 84 107 5