es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

yarn-berry guardará las dependencias seleccionadas en node_modules.

Quiero usar Gulp y ES6modules con Yarn PnP, pero Gulp con ES6modules no es compatible con PnP…

Error [ERR_MODULE_NOT_FOUND]: No se puede encontrar el paquete 'gulp' importado desde /<pathtoproject>/gulpfile.js
¿Quisiste decir importar gulp-npm-4.0.2-57826bdf31-c18e6c33e6.zip/node_modules/gulp/index.js?
    at new NodeError (node:internal/errors:371:5)
    at packageResolve (node:internal/modules/esm/resolve:864:9)
    at moduleResolve (node:internal/modules/esm/resolve:910:18)
    at defaultResolve (node:internal/modules/esm/resolve:1005:11)
    at ESMLoader.resolve (node:internal/modules/esm/loader:475:30)
    at ESMLoader.getModuleJob (node:internal/modules/esm/loader:245:18)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:79:40)
    at link (node:internal/modules/esm/module_job:78:36) {
  code: 'ERR_MODULE_NOT_FOUND'
}

Si configuro nodeLinker: "node-modules" en .yarnrc.yml, PnP dejará de funcionar…

¿Hay alguna forma de especificar las dependencias que necesitan guardarse en node_modules junto con PnP?

Gracias ^_^

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Lamentablemente, si estableces nodeLinker: "node-modules" en .yarnrc.yml, estás desactivando PnP y volviendo al enfoque tradicional de node_modules. En este caso, deberías poder usar Gulp con ES6modules sin problemas.

    Si aún quieres usar PnP y especificar que las dependencias se guarden en node_modules, puedes intentar el siguiente método alternativo:

    1. Instala Gulp en tu proyecto usando yarn add gulp --ignore-workspace-root-check.
    2. Añade gulp a las "dependencies" en package.json manualmente.
    3. Importa y utiliza Gulp en tu proyecto de forma normal.

    Al utilizar --ignore-workspace-root-check, le estás indicando a Yarn que instale gulp en el directorio actual en lugar de utilizar la resolución de PnP. Sin embargo, debes tener en cuenta que este método alternativo puede causar conflictos de dependencias y otros problemas.

    Ten en cuenta que en Yarn v3 (Berry), PnP es el comportamiento predeterminado y las dependencias se guardan automáticamente en node_modules cuando sea necesario. Por lo tanto, si actualizas a Yarn v3, es posible que ya no necesites este método alternativo.

Comments are closed.