rails para kali instalar gratis descargar comando codigofacilito ruby-on-rails capistrano bundler

ruby on rails - para - Bundler: Estás intentando instalar en modo de implementación después de cambiar tu Gemfile



instalar ruby on rails en windows 10 (15)

Soy bastante nuevo para bundler y capistrano, y estoy tratando de usarlos juntos. Cuando intento implementar, obtengo el mensaje:

Está intentando instalar en modo de implementación después de cambiar su Gemfile. Ejecute `bundle install ''en otro lugar y agregue el Gemfile.lock actualizado al control de versiones.

No sé cómo satisfacer el sistema que se queja, y no entiendo por qué está surgiendo la queja porque leí en el documento :

Si existe Gemfile.lock y has actualizado tu Gemfile (5), bundler utilizará las dependencias en Gemfile.lock para todas las gemas que no hayas actualizado, pero volverá a resolver las dependencias de gems que hayas actualizado . Puede encontrar más información sobre este proceso de actualización a continuación bajo ACTUALIZACIÓN CONSERVADORA.

Lo interpreto como que significa que el Bundler puede manejar el hecho de que mi Gemfile no es lo que esperaba. ¿Alguna ayuda?

Especificaciones: Ruby 1.9.3, Rails 3.2.3, Capistrano 2.12.0, Bundler 1.1.4, Windows 7, implementación en una máquina de Posix.

Editar: My Gemfile incluye bloques lógicos como los siguientes:

unless RbConfig::CONFIG[''host_os''] === ''mingw32'' # gem ''a'' ... end


Tenga cuidado con la configuración global de Bundler.

Tenía una configuración global en mi entorno de desarrollo en ~/.bundle/config que no tenía en mi entorno de CI / Producción que causaba que Gemfile.lock que se generó en mi entorno de desarrollo fuera diferente al de mi CI / Entorno de producción.

En mi caso, estaba configurando github.https como verdadero en mi entorno de desarrollo, pero no tenía esa configuración en mi entorno de producción / CI. Esto causó que los dos archivos Gemfile.lock fueran diferentes.


Cuando ves lo siguiente ...

$ bundle install You are trying to install in deployment mode after changing your Gemfile. Run `bundle install` elsewhere and add the updated Gemfile.lock to version control. If this is a development machine, remove the Gemfile freeze by running `bundle install --no-deployment`. You have added to the Gemfile: * source: rubygems repository https://rubygems.org/ * rails (~> 3.2) . . .

... Entonces, es muy probable que tenga archivos .gem obsoletos en su directorio de proveedor / caché.

Quizás, anteriormente ejecutó $bundle install --deployment que puso algunos archivos .gem "obsoletos" en el caché.

En cualquier caso, puede superar este error ejecutando: bundle install --no-deployment

Esa es una de las muchas cosas buenas de Rails ... los mensajes de error a menudo te dicen exactamente qué hacer para solucionar el problema.


El mensaje de error que está recibiendo con respecto a Gemfile.lock puede deberse a que su Gemfile y Gemfile.lock no concuerdan entre sí. Parece que ha cambiado algo en su Gemfile desde la última vez que ejecutó la bundle install (o la update ). Cuando haces un bundle install , actualiza tu Gemfile.lock con cualquier cambio que hayas hecho en Gemfile.

Asegúrese de ejecutar bundle install localmente y de registrarse en el control de origen de su Gemfile.lock recién actualizado después de eso. Luego intente implementar.

Editar : como se reconoce en los comentarios, un condicional en el Gemfile resultó en un Gemfile.lock válido en una plataforma, no válido en otra. Proporcionar una bandera de :platform para estas gemas dependientes de la plataforma en el Gemfile debería resolver la asimetría.


En nuestro caso, estábamos usando una función que no estaba disponible en una versión anterior de bundler que se ejecutaba en nuestra máquina de producción. Por lo tanto, fue suficiente para actualizar el paquete, es decir, hacer un gem update bundler .


Esta podría ser una idea peligrosa, pero si debe probar algo en un entorno de implementación de producción, puede editar el archivo .bundle / config

# This value is normally ''1'' # Set it to ''0'' BUNDLE_FROZEN: ''0''

Ahora invoque el paquete, en mi caso necesitaba actualizar una gema específica, así que este es mi comando

RAILS_ENV=production bundle update <whatever gem>

Probablemente deberías volver a cambiarlo después de la actualización, para que las cosas funcionen como esperas, después. De nuevo, esto probablemente no sea compatible, y YMMV


La solución para mí fue ligeramente diferente a las otras enumeradas aquí. Estaba tratando de actualizar de sidekiq a sidekiq-pro (que requiere bundler 1.7.12+), pero seguí recibiendo el mensaje "Estás intentando instalar en modo de implementación después de cambiar tu Gemfile" de travis-ci

La inspección de la salida de la consola de travis-ci reveló que se estaba utilizando una versión anterior del bundler.

En mi caso, tuve que editar el archivo travis.yml para agregar:

before_install: - gem update bundler

Esto obligó a Travis-ci a usar la última versión de bundler e hizo desaparecer el mensaje de error.


Me encontré con algo similar antes. Una forma de solucionarlo, creo, pero puede llevar más espacio del que desea, es ejecutar

bundle install --deployment

y luego intenta desplegar. Esto hace algo así como instalar todas sus gemas en la carpeta del proveedor, lo que creo que en general es bueno evitar ... pero probablemente todavía funcione. Mi aplicación solía comportarse así, mi solución consistía en eliminar las versiones exactas para descargarlas en mi Gemfile, y luego reinsertarlas e implementarlas.

gem ''rails_admin'', :git => ''git://github.com/sferik/rails_admin.git'', :branch => ''master''

a

gem ''rails_admin''

O puede hacer lo que sugiere, y llevar su proyecto fuera del servidor de producción a una máquina local, agruparlo y luego volver a instalarlo en su servidor. Esta solución puede no ser 100% correcta, pero algunas me funcionaron ... solo pensé en compartirla. Buena suerte


Me encontré con este despliegue de una aplicación de Nesta después de algunas actualizaciones de gemas. Lo que funcionó para mí fue eliminar Gemfile.lock , ejecutar bundle install para volver a generarlo e implementarlo de nuevo.


Me encontré con un problema similar, sin embargo, hice la bundle install bundle update y la bundle update y Heroku aún rechazó mi oferta.

Solucioné el problema simplemente borrando Gemfile.lock y luego ejecutando bundle install nuevamente. Luego agregué, me comprometí y lo envié a mi git repo. Después de eso no tuve ningún problema presionando a Heroku.


Mi problema específico estaba relacionado con lo reportado por @JoshPinter, es decir, las discrepancias del host dev-vs-deploy en el protocolo utilizado por bundler para recuperar gems de github.

Para resumir, todo lo que tenía que hacer era modificar la siguiente entrada de Gemfile ...

gem ''activeadmin'', github: ''activeadmin''

... a esta sintaxis segura ( ver referencia ):

gem ''activeadmin'', git: ''https://github.com/activeadmin/activeadmin.git''

Y mis despliegues han vuelto a la normalidad.


Otra causa del error:

Esto es un poco tonto, pero estoy seguro de que alguien más cometerá el mismo error.

Para Rails 4, Heroku agregó la gema rails_12factor. Si lo estabas usando antes de agregarlo, entonces tendrás estas dos gemas:

gem ''rails_log_stdout'', github: ''heroku/rails_log_stdout'' gem ''rails3_serve_static_assets'', github: ''heroku/rails3_serve_static_assets''

Tienes que eliminarlos cuando agregas el nuevo. (están incluidos). Creo que puedes salirte con la tuya hasta que toques las líneas en tu archivo gema, entonces Heroku nota la duplicación y grita con el error anterior.

buena suerte con Rails 4.


Tuve el mensaje de error al intentar presionar a Heroku. Encontré la siguiente solución arreglada.

  1. Git pull master de origen
  2. Estado de Git
  3. Git commit
  4. Git Push Origin Master
  5. Git push heroku master

para heroku, no tienes que cambiar la sintaxis en el Gemfile . solo puede agregar BUNDLE_GITHUB__HTTPS (tenga en cuenta el doble guión bajo) como una variable de entorno y configurarlo en true (en el panel de la aplicación heroku en la pestaña Settings en la sección Config Vars ). esto cambiará el protocolo de git:// a https:// para todas las solicitudes.


vi. paquete / config

cambie la opción BUNDLE_FROZEN de ''1'' a ''0''

hacer "paquete de instalación"

O

ejecutar "bundle config"

ver si el valor "congelado" es verdadero configurarlo en falso

paquete config congelado falso


rm -fr .bundle

Solucionado el problema para mí.