为什么Pry不会在Heroku的控制台中运行?

时间:2012-01-17 20:49:11

标签: ruby-on-rails heroku pry

我的目标是使用Pry作为我的Rails应用程序的控制台,无论是在本地还是在我的登台服务器上。但我无法让它在Heroku上工作。

我正在按照these说明让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 / environments 中的所有文件中添加了以下内容:
    silence_warnings do
    begin
    require 'pry'
    IRB = Pry
    rescue LoadError
    end
    end

  4. 运行bundle install

  5. 运行git push staging master

3 个答案:

答案 0 :(得分:12)

我是为Heroku和Pry开发方法的人,但你提出了一个我没有想过的有趣案例,因为我主要使用Sinatra和EM部署并构建我自己的帮助器等。无论哪种方式:

要在拥有Rails应用程序时使用与Heroku的Pry,您只需要将pry-rails和pry添加到gemfile(作为普通Gem),然后bundle install然后git [commit|push]并运行{{ 1}}在Cedar堆栈上。您调整配置/环境的地方的第3步不会也不应该这样做,请尽可能恢复该更改。执行此操作并从应用程序的根目录中删除pry脚本(您不一定需要执行后者)Pry将正确加载您的Rails。

答案 1 :(得分:3)

我刚刚使用https://github.com/pry/pry/wiki/Setting-up-Rails-or-Heroku-to-use-Pry处的说明进行设置,pry文件位于项目的根目录中。提交并推送到Heroku - 我正在使用Cedar堆栈。

影响heroku run console pry的控制台会话 - 我确实发现我确实需要执行pry才能进入pry提示符,但它会按照我的预期运行。

更新:为了清楚起见,我向Gemfile添加了pry并按照指示创建了pry文件。您的问题是您在gem文件中锁定pry以进行开发/测试 - 您是否在这些环境中在Heroku上运行应用程序?那你为什么得到未定义的方法?

答案 2 :(得分:0)

您可能必须在捆绑器Gemfile中列出它。