0

我有一个应用程序,我根据组隔离了我所有的宝石

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))

仍然当我启动我的服务器时

导轨服务器--调试器

它给了我以下错误

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

我已经从开发组中删除了 ruby​​-debug19 并将其设置为默认服务器工作

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

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

跑了

bundle list cat Gemfile.lock > final_lock (当 ruby​​-debug19 在默认组中时)

还做了一个

diff initial_lock final_lock

没有区别表明文件相同

我也试过

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

仍然没有成功

谁能让我知道为什么 Bundler.require 没有按应有的方式工作

4

1 回答 1

1

检查您是否没有落入应用程序目录中的 .bundle 目录陷阱 当您使用 --without 选项随时运行任何时间捆绑安装时会发生这种情况

直接来自捆绑 Gemfile手册

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

只需从您的应用程序目录中删除 .bundle/config 目录请在删除之前先检查内容

希望这有帮助

于 2012-06-08T05:37:12.730 回答