我有一个Rails 2.3应用程序,它带有我在staging.rb
中放入environments/
文件创建的自定义暂存环境。我的暂存环境配置为使用该环境启动应用程序。我正在使用Bundler管理gem依赖项,如here所述,我有一个gem(我直接从git中提取,如果这很重要)设置为在开发和登台环境中加载。
当我在暂存环境中启动应用程序时,它工作正常,包括依赖于该gem的部分。但是,当我尝试使用Rails控制台(script/console staging
)时,出现以下错误:
<snip>site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- sanitize_email (MissingSourceFile)
似乎Bundler的boot和preinitializer挂钩在任何环境中都适用于应用程序本身,但是它们在新的自定义环境中无法正常运行Rails控制台。
知道这里发生了什么吗?
答案 0 :(得分:2)
您可能需要在bundler的上下文中执行它:
bundle exec script/console