为什么Bundler.require不能正常工作

时间:2012-06-07 07:54:00

标签: ruby-on-rails bundler ruby-on-rails-3.2 gem-bundler

我有一个应用程序,我根据组

隔离了我的所有宝石
source 'http://rubygems.org'

...
...
...


group :development, :test do
  gem 'ruby-debug19', :require => 'ruby-debug'
  gem 'web-app-theme', '>= 0.6.2'
  gem 'faker'
  gem 'mailcatcher'
  gem "pry"
  gem 'annotate'
  gem "unicorn"
  gem "capistrano"
end

这里重要的事情是 ruby​​-debug19 现在在我的 config / application.rb 中 我已经定义了

  Bundler.require *Rails.groups(:assets => %w(development test))

当我启动服务器时

  

rails server --debugger

它给我以下错误

  

`require':没有要加载的文件 - ruby​​-debug(LoadError)

我已从开发组中删除了ruby-debug19,并将其默认为服务器正常工作

我在两种情况下都比较了Gemfile.lock

  

cat Gemfile.lock> intial_lock(当ruby-debug19在开发组中时)

  

捆绑列表   cat Gemfile.lock> final_lock(当ruby-debug19在默认组中时)

也做了

  

diff initial_lock final_lock

没有区别表明文件相同

我也试过

  

Bundler.require(:default,:assets,Rails.env)

仍然没有成功

任何人都可以让我知道为什么Bundler.require没有按照应有的方式工作

1 个答案:

答案 0 :(得分:0)

检查您是否没有进入应用程序目录中的.bundle目录陷阱当您随时使用--without options运行bundle install时会发生这种情况

直接从包Gemfile manual

  

运行bundle install --without test后,bundler会记住   您在上次安装中排除了测试组。下一个   你运行bundle install的时间,没有任何--without选项,bundler   会记得它。

从您的应用程序目录中删除.bundle / config目录,请先删除内容,然后再将其删除

希望这个帮助