2012-01-17 7 views
7

Mi objetivo es utilizar Pry como la consola de mi aplicación Rails, tanto localmente como en mi servidor de transferencia. Pero no puedo hacer que funcione en Heroku.¿Por qué Pry no corre en la consola de Heroku?

Estoy siguiendo las instrucciones these para hacer que Heroku use Pry como la consola de mi aplicación Rails. Cuando ejecuto heroku run console pry, mi consola imprime Running console pry attached to terminal... up, run.1 y luego sale. Cuando ejecuto heroku console pry, solo dice main y luego sale.

¿Alguna idea sobre lo que estoy haciendo mal?

Aquí es lo que he hecho hasta ahora:

  1. En mi Gemfile He añadido las líneas:
    gem 'pry'
    gem 'pry-rails'

  2. que he creado un archivo llamado palanca que contiene:
    #!/usr/bin/env ruby
    require 'pry'
    pry

  3. añadí lo siguiente para todos los archivos de configuración/entornos:
    silence_warnings do
    begin
    require 'pry'
    IRB = Pry
    rescue LoadError
    end
    end

  4. plazo bundle install

  5. plazo git push staging master
+1

Creo que poner el nombre del proyecto (el mismo directorio que 'Gemfile' et al) es correcto. Como @JohnBachir menciona, asegúrese de tener también 'gem 'pry'' en su Gemfile y de que ha ejecutado' bundle install' y luego ha agregado 'pry',' Gemfile' y 'Gemfile.lock' a su repositorio antes de presionar a Heroku. –

+0

@Jordan, ya lo había hecho; acaba de actualizar la pregunta para reflejarlo. – thewillcole

Respuesta

12

Yo soy el que desarrolló el método para Heroku y Pry, pero sacó a colación un caso interesante en el que no pensé, ya que principalmente despliego con Sinatra y EM y creo mis propios ayudantes y tal.De cualquier manera:

Para usar palanca con Heroku mientras que tener una aplicación Rails sólo tiene que añadir PRY-raíles y saque a su Gemfile (como una gema normal) y luego bundle install y luego git [commit|push] y ejecutar heroku run console en la pila de cedro. El paso 3 de lo que hiciste donde ajustó config/environments no se debe ni se debe hacer, por lo que debes revertir ese cambio si puedes. Después de hacer eso y eliminar la secuencia de comandos de la raíz de la aplicación (no es necesario que haga lo último), Pry cargará correctamente con sus Rails.

+0

Uh-oh. Estoy en 'bamboo-mri-1.9.2' no' ceder'. ¿Solo funciona en 'ceder'? – thewillcole

+0

@theWillCole También deberías poder usarlo en Bamboo, simplemente adapta el lanzamiento de la consola al que necesita tu stack, que para Bamboo es simplemente 'heroku console' para Bamboo stack. –

+0

Actualicé al servidor "delgado" y la pila de "cedro" de heroku. En algún lugar a lo largo de la línea, la palanca comenzó a funcionar. No estoy del todo seguro de cuál fue el problema, pero esta respuesta funciona para mí ahora. – thewillcole

0

es probable que tenga de incluirla en su bundler Gemfile.

+0

Ya lo había hecho, pero se olvidó de mencionarlo en la pregunta. ¿Algún otro pensamiento? – thewillcole

3

Acabo de utilizar las instrucciones en https://github.com/pry/pry/wiki/Setting-up-Rails-or-Heroku-to-use-Pry para configurarlo, el archivo de palanca entra en la raíz de su proyecto. Comprometerse y presionar a Heroku - Estoy usando la pila de Cedar.

Efecto de una sesión de consola a heroku run console pry - Encontré que luego tuve que ejecutar pry para que se soltara en un aviso de palanca, pero luego funcionó como esperaba.

ACTUALIZACIÓN: Para que quede claro, agregué palanca a Gemfile y creé el archivo de palanca como se indica. ¿Tu problema es que estás presionando con palanca en tu gemfile para desarrollar/probar? ¿Estás ejecutando tus aplicaciones en Heroku en esos entornos? Por lo tanto, ¿por qué estás obteniendo métodos indefinidos?

+0

Quité el: groups => [: development,: test] de mi Gemfile. Ya no recibo el error de método indefinido, pero la consola aún sale tan pronto como lo inicie. – thewillcole

+0

Para futuros visitantes a esta pregunta, como las instrucciones ahora están en 2017, simplemente ejecute 'heroku run console'. – Evolve

Cuestiones relacionadas