我有一个rails 2应用程序,我正在升级使用bundler。不幸的是,这个应用程序不使用active_record(但是大量使用rails的所有其他组件)。
以前,为了让应用忽略active_record,我在environment.rb文件中有以下内容:
config.frameworks -= [ :active_record ]
然而,似乎bundler正在强制加载active_record,这显然会引发错误,因为没有指定数据库。
我正在使用rails 2.3.16(实际上尝试升级到此过程的一部分)。
我搜索了一下,我找到的最接近的是这张公开票:
https://github.com/wycats/bundler/issues/143
我唯一的选择是显式修改Gemfile.lock并删除对active_record的所有引用吗?
答案 0 :(得分:0)
检查您的config/application.rb
1}}或require 'rails/all'
。相反,对于没有ActiveRecord的标准Rails设置,它应该仅以下要求:
require "active_record/railtie"
如果您在require File.expand_path('../boot', __FILE__)
require "action_controller/railtie"
require "action_mailer/railtie"
require "active_resource/railtie"
require "rails/test_unit/railtie"
require "sprockets/railtie"
# Auto-require default libraries and those for the current Rails environment.
Bundler.require :default, Rails.env
中使用的是config/application.rb
部分,请确保其中没有config.generators
行。如果需要,您可以将其明确设置为g.orm :active_record
,但在完全省略nil
时,这应该是默认值。
可选,但在g.orm
中,删除加载数据库模块的Gemfile
行。例如,这可以是行gem
。
(来自here)