8

我的目标是使用 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
4

3 回答 3

12

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

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

于 2012-01-19T03:36:44.040 回答
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 文件。您的问题是您将 gemfile 中的 pry 锁定到开发/测试 - 您是否在这些环境中在 Heroku 上运行您的应用程序?因此,为什么你会得到未定义的方法?

于 2012-01-17T22:43:31.720 回答
0

你可能必须在你的打包工具 Gemfile 中列出它。

于 2012-01-17T20:54:39.497 回答