with todos titulo son saber reemplazar quitar propiedades online norteamericanos norteamericano node momento modificar mejores mejor mdn mas los hollywood historia funcion fecha famosos espacios editar documento directores director cómo cuales creacion como cineasta cine caracteres cambiar autor archivo replace composer-php package-managers

replace - todos - ¿Cómo funciona la propiedad "reemplazar" con el compositor?



replace with regex javascript (2)

Cuando creas tu propio paquete, defines en tu composer.json qué tipo de paquetes provide que básicamente le dice a Composer que tu paquete ya lo tiene instalado, por lo que no es necesario volver a instalarlo.

Si usa la propiedad de replace , le dice a Composer que su paquete desea reemplazar el paquete original con su propio tenedor, para que otros paquetes no necesiten instalarlo.

Por ejemplo, si a/a paquete a a/a requiere b/b y usted dice reemplazar b/b , no se descargará en la install / update Composer.

Esto se explica con más detalle aquí: ¿Cómo funciona la propiedad "reemplazar" en Composer?

Entonces, ¿cómo funciona la propiedad " replace " con el composer ? He leído el documento del compositor pero aún no lo entiendo. La búsqueda de más información no ha respondido a mis preguntas.

Cuando miro el archivo composer.json en Laravel/Framework en github. No veo cómo funcionará el reemplazo. ¿Puede alguien explicarme cómo funciona esto? ¿Y a qué equivaldrá la variable "auto.versión"?


La documentación del Compositor brinda dos ejemplos básicos. Trataré de explicar:

Enumera los paquetes que son reemplazados por este paquete. Esto le permite bifurcar un paquete, publicarlo con un nombre diferente con sus propios números de versión, mientras que los paquetes que requieren el paquete original continúan trabajando con su fork porque reemplaza el paquete original.

Supongamos que su software utiliza original/library y other/package , que también requiere original/library .

Ahora cree que original/library necesita integrar una característica, pero los mantenedores no permitirán que su sugerencia suceda en su paquete. Decide bifurcar esa biblioteca con el nombre better/library y etiquetar una nueva versión.

De vuelta a tu software Por supuesto, debería comenzar a usar better/library , por lo que lo necesita, pero ese other/package aún requiere la duplicación original/library código de la original/library . ¿Cómo se puede crear ese otro paquete para usar better/library sin bifurcarlo y solo cambiar el composer.json (todavía es compatible con ese original/library , por lo que debería funcionar)?

Agregas una clave de reemplazo a tu composer.json . composer.json :

"replace": { "original/library":"1.*" }

Ahora Composer sabe que cualquier paquete de su better/library es igual de bueno que el original/library cuando se trata de resolver las dependencias del other/package .

Esto también es útil para paquetes que contienen subpaquetes, por ejemplo, el paquete symfony / symfony principal contiene todos los componentes de Symfony que también están disponibles como paquetes individuales. Si requiere el paquete principal, cumplirá automáticamente cualquier requisito de uno de los componentes individuales, ya que los reemplaza.

Las mismas reglas, un ángulo ligeramente diferente: exigir componentes de un marco es un buen enfoque para cualquier otro componente que necesite alguna característica. Pero si necesita el marco completo en su software y otra biblioteca, que posteriormente también requiere un componente de ese marco, la declaración de replace del marco le permite a Composer no tener que instalar ese único componente dos veces, porque ya está incluido en el marco completo.