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

190
Vistas
¿Por qué la inclusión de una gema en Gemfile resuelve un problema de rieles, aunque esta misma gema ya está incluida en Gemfile.lock?

Estoy tratando de entender por qué un problema con el que estaba luchando ahora se resolvió mágicamente.

Estoy creando una aplicación Rails que usa Spotify OAuth (a través de la gema rspotify ) y me quedé atascado en el problema exacto que se describe aquí . Después de hacer girar mis ruedas, finalmente me encontré con este comentario , recomendándome que agregue explícitamente la gema omniauth a mi Gemfile .

Ahora, esta gema omniauth ya era una dependencia en Gemfile.lock para omniauth-oauth2 específicamente. Como recomienda el comentario vinculado , omniauth en mi Gemfile y ahora mi problema aparentemente está resuelto, pero realmente no sé por qué.

  • ¿Por qué la inclusión de una gema en su Gemfile resuelve un problema de rieles en este caso?
  • Si una gema ya está instalada como dependencia (según Gemfile.lock ), ¿no es eso evidencia de que se instaló una gema dada? Si, por ejemplo, gem_foo aparece como una dependencia en Gemfile.lock y agrego gem_foo en Gemfile y luego ejecuto Bundler, ¿cómo interpreta Rails este cambio?
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Esto está relacionado con la forma en que el empaquetador carga las gems . Bundler.require requiere gemas enumeradas en Gemfile pero no requiere su dependencia. Depende de la biblioteca requerir/cargar su dependencia.

El problema mencionado ocurre cuando omniauth no se agrega explícitamente a Gemfile, por lo que el paquete no lo requiere.

Pero dado que omniauth-rails_csrf_protection asume que ya se requiere ominauth , se produce un error cuando el usuario solo agrega omniauth-rails_csrf_protection pero no agrega omniauth a Gemfile.

Creé una posible solución para el problema https://github.com/cookpad/omniauth-rails_csrf_protection/pull/13

ACTUALIZACIÓN: la corrección se ha fusionado en el repositorio de gemas.

over 4 years ago · Santiago Trujillo 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