Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

934
Vistas
No se puede instalar y configurar el complemento de transformador MDX (y las dependencias) en el sitio de Gatsby
  • Objetivo: Intentar crear un blog simple usando Gatsby

  • Resultados:

    • Resultado esperado: las cosas deberían ir como se define en la guía del tutorial
    • Resultado real: obtener un error del árbol de dependencias en los pasos y también un mensaje de advertencia como 34 vulnerabilities (11 moderate, 23 high) cada vez que instale algo usando npm en este proyecto
  • Enfoque: estoy siguiendo la guía disponible aquí , y en la tarea de instalar el complemento de transformación MDX , obtengo el siguiente error

Preguntas:

  1. ¿Cómo resuelvo este problema particular del árbol de dependencia y también, en general, cómo abordo este tipo (problema del árbol de dependencia) de errores en npm?
  2. Las advertencias relacionadas con los paquetes vulnerables: ¿qué tan importantes son y cómo deben manejarse?
 Command-used: npm install gatsby-plugin-mdx @mdx-js/mdx@v1 @mdx-js/react@v1 Output/Console Error: npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR! While resolving: my-gatsby-site@1.0.0 npm ERR! Found: react@18.2.0 npm ERR! node_modules/react npm ERR! react@"^18.1.0" from the root project npm ERR! peer react@"^16.9.0 || ^17.0.0 || ^18.0.0" from gatsby-plugin-mdx@3.18.0 npm ERR! node_modules/gatsby-plugin-mdx npm ERR! gatsby-plugin-mdx@"*" from the root project npm ERR! npm ERR! Could not resolve dependency: npm ERR! peer react@"^16.13.1 || ^17.0.0" from @mdx-js/react@1.6.22 npm ERR! node_modules/@mdx-js/react npm ERR! @mdx-js/react@"v1" from the root project npm ERR! peer @mdx-js/react@"^1.0.0" from gatsby-plugin-mdx@3.18.0 npm ERR! node_modules/gatsby-plugin-mdx npm ERR! gatsby-plugin-mdx@"*" from the root project npm ERR! npm ERR! Fix the upstream dependency conflict, or retry npm ERR! this command with --force, or --legacy-peer-deps npm ERR! to accept an incorrect (and potentially broken) dependency resolution. npm ERR! npm ERR! See <home-folder>/.npm/eresolve-report.txt for a full report. npm ERR! A complete log of this run can be found in: npm ERR! <home-folder>/.npm/_logs/2022-07-06T15_46_56_149Z-debug-0.log
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

No es que "usted deba" normalmente hacer lo que estoy a punto de sugerir, pero puede ejecutar:

 npm install gatsby-plugin-mdx @mdx-js/mdx@v1 @mdx-js/react@v1 --legacy-peer-deps

Básicamente, lo que hará es decirle a npm que desea instalar dependencias de pares, la razón por la que esto sucede es porque está usando React@18.2 en su proyecto, pero los paquetes que está tratando de instalar están usando una versión inferior de React. Por lo tanto, NPM le arroja este error.

La razón por la que "usted no debería" normalmente hacer esto es imaginar que hay una dependencia dentro de un paquete que está marcado como vulnerable, pero actualmente tiene instalada una versión "arreglada". Entonces estaría instalando la dependencia del par que podría tener una vulnerabilidad.

Puede ejecutar el código anterior y estar "bien", no es gran cosa que quiera instalar una versión menor de React.

Pero lo que también debe pensar es si realmente necesita React@18.2, o podría usar una versión anterior porque, ¿cuál es la probabilidad de que use alguna de las características que podrían estar en la última versión?

Esta es también una razón por la que muchos desarrolladores no van e instalan la versión más reciente de React cuando están creando proyectos, porque tienes que confiar en los paquetes mantenidos por desarrolladores independientes o por una comunidad de personas encantadoras. que estén dispuestos a ayudar a mantener un paquete para actualizarlo con las últimas versiones de Reacts.

Estas son básicamente las tres cosas principales que puede hacer:

  • O instalas las dependencias heredadas
  • Derriba una clavija de versión de React que está en línea con la versión requerida en el árbol de dependencia para los paquetes que desea usar
  • Encuentra otro paquete, o echa un vistazo a su Github en caso de que hayan lanzado una versión, pero aún no han publicado esta versión en NPMjs.

Espero que esto ayude :)

Nota al margen:

Al migrar este proyecto a un proveedor de hospedaje, también deberá decirles que tiene paquetes que forzó a instalar con --legacy-peer-deps creando una variable de entorno para el sitio en la plataforma del proveedor de hospedaje o con Archivo .npmrc con lo siguiente:

 legacy-peer-deps=true
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda