Bundler不在自定义环境中为脚本/控制台加载gem

时间:2011-02-01 17:44:15

标签: ruby-on-rails rubygems console environment bundler

我有一个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控制台。

知道这里发生了什么吗?

1 个答案:

答案 0 :(得分:2)

您可能需要在bundler的上下文中执行它:

bundle exec script/console