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

297
Vistas
¿Cómo evitar el error de babel/cli no accesible al implementar en Google Cloud?

Tengo una función de nube de Google Node.js que ahora intento modularizar en dos módulos js. Funciona bien localmente en mi máquina, pero cuando intento implementarlo en Google, aparece el siguiente error:

ERROR: (gcloud.functions.deploy) OperationError: code=3, message=Build failed: npm ERR! @babel/cli not accessible from data-model

Mi main-function es usar mi módulo data-model través de la siguiente entrada en package.json:

 "dependencies": { "@google-cloud/datastore": "^6.1.1", "data-model": "file:../../data-model", ... },

El módulo data-model a su vez, tiene el siguiente paquete.json:

 { "name": "data-model", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "$(gcloud beta emulators datastore env-unset) && export GOOGLE_APPLICATION_CREDENTIALS=\"${GCPPRODFILEPATH}\" && jest --verbose --forceExit", "build": "npx babel src --out-dir dist" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "@google-cloud/datastore": "^6.6.2", "@google-cloud/storage": "^5.16.1", "cache-manager-redis-store": "^2.0.0", "difference": "^1.0.2", "gstore-node": "^7.2.6", "ioredis": "^4.28.2", "lodash": "^4.17.21" }, "devDependencies": { "@babel/cli": "^7.16.7", "@babel/core": "^7.16.7", "@babel/plugin-transform-modules-commonjs": "^7.16.5", "@babel/plugin-transform-runtime": "^7.16.5", "@babel/preset-env": "^7.16.5", "jest": "^27.4.5" } }

y el index.js para el modelo de datos es solo:

 module.exports = Object.assign( {}, require('./dist/garage'), require('./dist/car'), require('./dist/bike'), require('./dist/util/cacheService'), );

Soy un novato en npm y babel, pero entendí que cuando construyo un modelo de datos en/dist babel transformaría lo que sea necesario y cuando luego use el módulo de babel de función principal debería estar fuera de la imagen. Claramente mi comprensión es incorrecta, pero ¿dónde?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Finalmente logré resolver esto, me desvié un poco del mensaje de error de babel/cli que lanzó CloudFunction.

El problema era que mi módulo de modelo de datos estaba en otro directorio:
"data-model": "file:../../data-model",

Lo puse dentro de la función principal en su lugar:
"data-model": "file:data-model", y funciona bien para implementar funciones en la nube.

Por qué es así, no tengo ni idea, pero también está documentado en Google Cloud Docs :

El código para este módulo local debe almacenarse en otro lugar que no sea la carpeta node_modules dentro del directorio raíz de su función.

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