Почему Прай не запускается в консоли Heroku? - PullRequest
7 голосов
/ 18 января 2012

Моя цель - использовать Pry в качестве консоли для моего приложения Rails как локально, так и на моем промежуточном сервере. Но я не могу заставить его работать на Heroku.

Я следую этим инструкциям, чтобы Heroku использовала Pry в качестве консоли для моего приложения Rails. Когда я запускаю heroku run console pry, моя консоль печатает Running console pry attached to terminal... up, run.1 и затем выходит. Когда я запускаю heroku console pry, он просто говорит main и затем выходит.

Есть идеи, что я делаю не так?

Вот что я сделал до сих пор:

  1. В моем Gemfile Я добавил строки:
    gem 'pry'
    gem 'pry-rails'

  2. Я создал файл с именем pry , который содержит:
    #!/usr/bin/env ruby
    require 'pry'
    pry

  3. Я добавил следующее для всех файлов в config / environment :
    silence_warnings do
    begin
    require 'pry'
    IRB = Pry
    rescue LoadError
    end
    end

  4. пробег bundle install

  5. пробег git push staging master

Ответы [ 3 ]

12 голосов
/ 19 января 2012

Я тот, кто разработал метод для Heroku и Pry, но вы привели интересный случай, о котором я не задумывался, поскольку я в основном развертывался с Sinatra и EM и создавал своих собственных помощников и тому подобное.В любом случае:

Чтобы использовать Pry с Heroku, имея приложение Rails, вам просто нужно добавить pry-rails и pry в ваш gemfile (как обычный Gem), затем bundle install, а затем git [commit|push] и запуститьheroku run console в стеке кедра.Шаг 3 того, что вы сделали, где вы настроили config / environment , не выполняется и не должен выполняться, поэтому, если возможно, отмените это изменение.После того, как вы это сделаете и удалите скрипт pry из корня вашего приложения (ну, вам не обязательно делать последнее), Pry правильно загрузится с вашими Rails.

3 голосов
/ 18 января 2012

Я только что использовал инструкции на https://github.com/pry/pry/wiki/Setting-up-Rails-or-Heroku-to-use-Pry, чтобы настроить его, файл pry помещается в корень вашего проекта.Зафиксируйте и отправьте в Heroku - я использую стек Cedar.

Создайте консольный сеанс до heroku run console pry - я обнаружил, что мне нужно было выполнить pry, чтобы перейти в запрос pry, нозатем он работал, как я и ожидал.

ОБНОВЛЕНИЕ: Просто чтобы прояснить ситуацию, я добавил pry в Gemfile и создал файл pry в соответствии с инструкциями.Ваша проблема в том, что вы блокируете pry в своем gemfile для разработки / тестирования - запускаете ли вы свои приложения на Heroku в этих средах?Следовательно, почему вы получаете неопределенные методы?

0 голосов
/ 18 января 2012

Вы, вероятно, должны указать это в своем пакете Gemfile.

...