ruby-on-rails ruby heroku bundler railstutorial.org

ruby on rails - ¿Cómo resolver el aviso de actualización del paquete en los rieles cuando se implementa en heroku?



ruby-on-rails bundler (1)

¿Cómo resuelvo la siguiente advertencia? Actualicé mi versión de ruby ​​a 2.3.1 y la versión de rieles a 4.2.6. Recibo esta advertencia cuando envío mi aplicación a heroku.

remote: Cleaning up the bundler cache. remote: Warning: the running version of Bundler is older than the version that created the lockfile. We suggest you upgrade to the latest version of Bundler by running `gem install bundler`. remote: Removing mime-types-data (3.2016.0221)

Quité el Gemfile.lock y ejecuté la instalación del paquete y también intenté actualizar el bundler pero la advertencia nunca desaparece.

suramai@rails-tutorial:~/workspace/converse (master) $ gem install bundler Successfully installed bundler-1.12.4 1 gem installed suramai@rails-tutorial:~/workspace/converse (master) $


Entonces, se queja de que la versión de bundler instalada en heroku es más antigua que la versión que Gemfile.lock para crear tu Gemfile.lock en tu máquina dev.

Probablemente solo puede ignorar la advertencia: en la mayoría de los casos, la instalación con una versión un poco más antigua de Bundler que la que usó para crear el Gemfile.lock está bien.

bundler agregó recientemente la grabación de la versión de bundler utilizada en Gemfile.lock , y luego la siguiente advertencia, porque en algunos casos una nueva característica agregada a una nueva versión de bundler podría haber sido utilizada para crear el Gemfile.lock , por lo que la instalación con una versión anterior podría no funcionar correctamente. Así que a veces puede ser un problema. Aunque normalmente no lo será.

No parece que puedas hacer que heroku se instale con una versión diferente de bundler .

Si desea que desaparezca la advertencia, puede optar por utilizar la misma versión del agrupador localmente que utiliza heroku. Es un poco difícil averiguar exactamente qué versión de Herku de bundler está utilizando. ¡Sería bueno si esa línea de advertencia realmente te dijera las dos versiones diferentes de bundler involucradas! Pero no lo hace.

Este documento de soporte de heroku sugiere que heroku está utilizando el paquete 1.11.2 . (¡En este momento, podría cambiar en el futuro!). Podemos ver en su registro que está utilizando 1.12.4 . Si desea utilizar 1.11.2 en 1.11.2 lugar, para evitar la advertencia, elimine todas las versiones de bundler instaladas en su sistema:

gem uninstall bundler

Luego instale específicamente 1.11.2 :

gem install bundler -v 1.11.2

En general, cuando usa el comando bundle , usará la última versión instalada en su sistema, así que para asegurarse de que siempre esté usando 1.11.2 , asegúrese de que sea la última versión instalada en su sistema y nunca instale una versión posterior. .

Entonces necesitas regenerar tu Gemfile.lock modo que diga que fue incluido con 1.11.2 , para no recibir la advertencia más. Este es un tipo de dolor, lo más fácil es editar el Gemfile.lock a mano y, luego, seguir adelante, solo usar el paquete 1.11.2 .

Para usar bundler 1.11.2 incluso si desea tener versiones posteriores de bundler instaladas en su sistema, entonces cada vez que haga una bundle install bundle update o una bundle update (para una aplicación que se implementará en heroku de todos modos), podría hacerlo. como:

bundle _1.11.2_ install

Eso le dirá a rubygems que ejecute el comando bundle install con la versión 1.11.2 del 1.11.2 , y luego esa versión se registrará en el Gemfile.lock , y no recibirá la advertencia.

Todo esto es un poco desordenado. Muchos desarrolladores probablemente ignoran la advertencia. Normalmente debería estar bien.