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

我的目标是在本地和登台服务器上使用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 / environments中的所有文件中添加了以下内容:
    silence_warnings do
    begin
    require 'pry'
    IRB = Pry
    rescue LoadError
    end
    end

  4. 运行bundle install

  5. 运行git push staging master

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

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

我刚刚使用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上运行应用程序? 那你为什么得到未定义的方法?

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

Interesting Posts