update specific rails mac how ruby-on-rails ruby-on-rails-4 bundle upgrade gemfile

ruby-on-rails - specific - update bundler



El paquete actualmente tiene rieles bloqueados en 4.0.4 (1)

Es este el comportamiento esperado?

Sí. Las gemas tienen dependencias. Cuando actualiza una gema, obtiene sus dependencias actualizadas (en el caso de los rieles, son sus partes * activas, por ejemplo).

Por cierto, este es un resultado de bundle update exitosa. Lo que significa que no hubo conflictos en la resolución de dependencia. Si hubiera un conflicto, lo verías en su lugar. (algo así como ''la gema A requiere la gema B v1.2.3, pero la gema C usa la gema B v4.5.6'').

¿Por qué los rieles estaban bloqueados?

Porque Gemfile.lock especificó los rieles versión 4.0.4. Y es esta versión (del archivo de bloqueo) la que usará bundler, on deploys, etc. Simplemente cambiando la versión en un Gemfile no afectará la versión de gema que se cargue. bundle install / bundle update es necesario.

Actualizar

Enlace útil: http://viget.com/extend/bundler-best-practices

Estas son las reglas:

  1. Siempre use la instalación del paquete
  2. Si necesita actualizar una dependencia que Bundler ya está administrando, use el paquete actualización gem_name.
  3. No ejecute la actualización del paquete a menos que desee que se actualicen todas sus gemas.

En Gemfile hice el siguiente cambio:

-bash> git diff Gemfile ... -gem ''rails'', ''4.0.4'' +gem ''rails'', ''4.0.5''

Luego ejecuté el bundle y obtuve un mensaje de parada de espectáculo:

-bash> bundle Fetching gem metadata from https://rubygems.org/........ Fetching additional metadata from https://rubygems.org/.. Resolving dependencies... You have requested: rails = 4.0.5 The bundle currently has rails locked at 4.0.4. Try running `bundle update rails`

Luego ejecuté los bundle update rails , según el mensaje anterior, y obtuve lo siguiente ( nótese que omito líneas sin cambios ).

-bash> bundle update rails Fetching gem metadata from https://rubygems.org/........ Fetching additional metadata from https://rubygems.org/.. Resolving dependencies... Installing rake 10.3.2 (was 10.3.0) Installing multi_json 1.10.1 (was 1.9.2) Installing activesupport 4.0.5 (was 4.0.4) Installing actionpack 4.0.5 (was 4.0.4) Installing actionmailer 4.0.5 (was 4.0.4) Installing activemodel 4.0.5 (was 4.0.4) Using activerecord-deprecated_finders 1.0.3 Installing activerecord 4.0.5 (was 4.0.4) Installing railties 4.0.5 (was 4.0.4) Installing rails 4.0.5 (was 4.0.4) Your bundle is updated!

Pregunta: ¿Es este el comportamiento esperado? Según otro usuario, esperaba ver qué está bloqueando la versión .

Pregunta: ¿Por qué los rails estaban bloqueados ? ¿Y hay una mejor manera de lidiar con esta situación que lo que hice?