这是我的机架应用程序中的内容
#rb file
require 'pry'
class .....
#GemFile
group :development do
gem "pry"
gem "pry-nav"
end
当然,在生产中它会导致错误。如何制作一种“require if”?
require 'pry' if ENV['RACK_ENV'] == 'development'
也许您可以将其嵌入到 if 块中
根据文档 Sinatra 提供了一个环境变量 http://www.sinatrarb.com/intro#Environments
if development?
require 'pry'
end
无论您需要在哪里使用它。
这可能不是您可能正在寻找的确切解决方案,只是一个疯狂的猜测
我建议在您的应用程序的 Object 或 Kernel 中编写这样的方法:
def require_pry
require 'pry' if ENV['RACK_ENV'] == 'development'
end
之后,如果您在代码中需要它,您可以调用 require_pry。但我怀疑为什么 Bundler 不能处理它,Bundle.require 将需要环境所需的所有 gem。