Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

941
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!