Laravel PackageManifest.php: Índice indefinido: nombre

6 minutos de lectura

Solo estoy tratando de implementar mi aplicación y ejecuté la actualización del compositor en mi servidor y obtuve el siguiente error:

En PackageManifest.php línea 122: índice indefinido: nombre

¿Cómo puedo solucionar este problema?

  • Tuve el mismo problema, pero en mi entorno local (docker). Lo arreglé usando la actualización del compositor fuera del contenedor docker, así que básicamente usando php y composer instalados en mi Mac. Si usa la ventana acoplable, puede intentar hacer lo mismo, tal vez no sea la mejor manera de solucionarlo, pero funciona. 🙂

    – Sakuragi Rokurota

    13 de abril de 2020 a las 12:40

  • Probé tantas respuestas a continuación, pero solo stackoverflow.com/questions/61177995/… funcionó para mí.

    – Ryan

    21 de abril de 2021 a las 15:02

avatar de usuario
Pulkit Modi

Como solución temporal, intente esto, funcionó para mí, en el siguiente archivo:

vendor/laravel/framework/src/Illuminate/Foundation/PackageManifest.php

Busque la línea 116 y coméntelo:

$packages = json_decode($this->files->get($path), true);

Agregue dos nuevas líneas después de la línea comentada anteriormente:

$installed = json_decode($this->files->get($path), true);
$packages = $installed['packages'] ?? $installed;

  • El problema aquí es que simplemente no quiero cambiar los archivos principales.

    – David Hyogo

    4 de noviembre de 2020 a las 12:03

  • esta solución es increíble, gracias hermano @Pulkit Modi

    – Masud

    11 de noviembre de 2020 a las 7:51


  • Esta no es una gran solución. No debe editar archivos de proveedores de esa manera. ¿Qué sucede si alguien más instala sus dependencias desde su composer.lock.json?

    – Mert Metin

    21 de diciembre de 2020 a las 22:27

  • Una solución temporal preferiblemente en dev env

    – Olé S

    8 de enero de 2021 a las 9:05

  • Ejecutar la actualización del compositor ahora hace ese cambio a PackageManifest.php sin necesidad de edición manual.

    – sveti petar

    18 de marzo de 2021 a las 10:11

Tuve el mismo problema, simplemente ejecuté el comando:

composer update

esto actualizará el archivo composer.lock. Después de eso funcionó a las mil maravillas.

  • No sé por qué la gente acepta degradar el compositor o cambiar los archivos fuente de Laravel como solución, mientras que esta es la forma correcta de solucionarlo.

    – shamasen

    25 de diciembre de 2020 a las 20:45

  • @shamaseen porque no desea ejecutar la “actualización del compositor” en un entorno de producción.

    – Johan

    20 de abril de 2021 a las 6:45

  • Esto actualizará todos los archivos de su biblioteca a su última versión limitada por composer.json. Puede o no querer hacer esto. getcomposer.org/doc/03-cli.md#update-u

    – Waterloomatt

    17 mayo 2021 a las 15:29

  • Esta debería ser la respuesta aceptada. ¡Funciona sin editar ningún archivo!

    – Jaytjuh

    2 de junio de 2021 a las 7:51

  • Esto no funcionó para mí

    – Jon Winstanley

    18 de febrero a las 19:43

avatar de usuario
DavidHyogo

encontré este problema en el repositorio de Composer GitHub eso ayudó mucho

Actualicé mi marco Laravel de 5.8 a 5.8.38, siguiendo la tabla que se muestra en ese número y el error desapareció.

Este Publicación de blog de Laravel también ayuda

Si no puede actualizar Laravel, puede quedarse con Composer 1 ejecutando

composer self-update --1

  • Esta respuesta me funciona cuando actualizo Laravel 5.5 a 6.x

    – Farid

    11 de noviembre de 2020 a las 15:06

  • Use la actualización automática del compositor –rollback para volver a la versión 2.0.13

    – saber tabatabaee yazdi

    5 mayo 2021 a las 15:41

  • funciona para mí también

    – kn3l

    17 de septiembre de 2021 a las 6:51

  • Gracias, su respuesta solucionó el problema pero no explicó claramente por qué. El problema real es que la versión de laravel que estamos ejecutando no es compatible con composer 2.x. Tanto la degradación de Composer a 1.x como la actualización a un laravel compatible solucionan el problema. github.com/composer/composer/issues/9340#issuecomment-716210369

    – 8 pulpo

    7 de marzo a las 12:33


avatar de usuario
efímero

Yo tuve el mismo problema.

En mi caso, degradar la versión del compositor solucionó el problema.

Actualizaron Composer 4 veces en 2 días. Creo que tuvieron un problema con sus actualizaciones más recientes.

En mi caso, la versión 1.10.1 era la versión adecuada.

sudo composer self-update --1

Espero que funcione.

recientemente cambié compositor 2.0.8 y mi versión de Laravel es 6.20.27

Para resolver este problema:

Paso 1:

Borrar compose.lock Expediente

Paso 2:

Instalar dependencias.

composer install

  • Esto también lo resolvió para mí sin necesidad de degradar el compositor. Creo que esta debería ser la respuesta aprobada. Quizás degradar composer también lo solucione, pero en mi caso y en mi opinión es menos ideal degradar.

    – amosmos

    6 de julio de 2021 a las 10:23

  • Creo que esto es lo mismo que no eliminar el archivo composer.lock y simplemente ejecutar la actualización del compositor.

    – capitán

    28 de julio de 2021 a las 2:11

  • @kapitan No lo es. composer update busca en el archivo composer.lock y actualiza cada dependencia a una versión más nueva, si hay una versión más nueva disponible. Pero composer install con borrar composer.lock archivo no importa lo que se ha instalado previamente, se instala todo como nuevo de composer.json expediente

    – Bedram Tamang

    28 de julio de 2021 a las 8:54

  • @BedramTamang: en realidad sabía lo que estaba sucediendo en ambos casos. De hecho, estoy hablando de la versión de los paquetes que se instalarán al final porque ambos instalarán el paquete más nuevo.

    – capitán

    30 de julio de 2021 a las 6:19

  • esta debe marcarse como respuesta correcta.

    –Jitesh Dhamaniya

    18 oct 2021 a las 13:36

avatar de usuario
DavidHyogo

Tuve un problema como este, y también probé composer self-update --stable, pero no hubo resultado. Entonces, descubrí que este archivo pertenece al marco de Laravel. Así que el siguiente comando resolvió este problema:

$ actualización del compositor laravel/framework

  • Esto también lo resolvió para mí sin necesidad de degradar el compositor. Creo que esta debería ser la respuesta aprobada. Quizás degradar composer también lo solucione, pero en mi caso y en mi opinión es menos ideal degradar.

    – amosmos

    6 de julio de 2021 a las 10:23

  • Creo que esto es lo mismo que no eliminar el archivo composer.lock y simplemente ejecutar la actualización del compositor.

    – capitán

    28 de julio de 2021 a las 2:11

  • @kapitan No lo es. composer update busca en el archivo composer.lock y actualiza cada dependencia a una versión más nueva, si hay una versión más nueva disponible. Pero composer install con borrar composer.lock archivo no importa lo que se ha instalado previamente, se instala todo como nuevo de composer.json expediente

    – Bedram Tamang

    28 de julio de 2021 a las 8:54

  • @BedramTamang: en realidad sabía lo que estaba sucediendo en ambos casos. De hecho, estoy hablando de la versión de los paquetes que se instalarán al final porque ambos instalarán el paquete más nuevo.

    – capitán

    30 de julio de 2021 a las 6:19

  • esta debe marcarse como respuesta correcta.

    –Jitesh Dhamaniya

    18 oct 2021 a las 13:36

avatar de usuario
Gerardo Argueta

En mi caso, degradar la versión del compositor solucionó el problema.

sudo composer self-update --1

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad