为什么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
,然后退出。
关于我做错的任何想法?
这是我到目前为止所做的:
-
在我的Gemfile中,我添加了以下行:
gem 'pry'
gem 'pry-rails'
-
我创建了一个名为pry的文件,其中包含:
#!/usr/bin/env ruby
require 'pry'
pry
-
我在config / environments中的所有文件中添加了以下内容:
silence_warnings do
begin
require 'pry'
IRB = Pry
rescue LoadError
end
end
-
运行
bundle install
- 运行
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中列出它。