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

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

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 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!