[英]How to not require "rails/all"?
> CUT_OFF=10 bundle exec derailed bundle:mem
TOP: 129.6563 MiB
rails/all: 58.1406 MiB
action_mailbox/engine: 32.1719 MiB
我不想要求 action_mailbox/engine 但 rails/all 需要它
我不確定它是哪個寶石。
我試過了:
def require(file)
puts "#{file} => #{caller.first}"
super
end
但是沒有任何顯示
奇怪的是,僅僅通過查看Gemfile rails/all
就可以以某種方式加載。 有時只是搜索幫助:
$ ag "rails/all" `bundle show --paths`
/home/alex/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/derailed_benchmarks-2.1.2/bin/derailed
90: require 'rails/all'
# ... 2 more results from `.tt` files
要回答您的問題,您可以拆分rails
gem 並使用您需要的東西。 我之前回答過:
https://stackoverflow.com/a/71993557/207090
現在在config/application.rb
中你可以替換:
require "rails/all"
使用railties
gem 中的all.rb中的 require 並刪除不需要的內容:
https://github.com/rails/rails/blob/v7.0.4/railties/lib/rails/all.rb
你真的不必這樣做,因為丟失的文件會被挽救,應用程序將毫無問題地啟動。 必須刪除郵箱的任何引用/配置。
# config/application.rb
# require "rails/all"
require "rails"
%w(
active_record/railtie
active_storage/engine
action_controller/railtie
action_view/railtie
active_job/railtie
action_cable/engine
action_text/engine
rails/test_unit/railtie
).each do |railtie|
# action_mailer/railtie
# action_mailbox/engine
begin
require railtie
rescue LoadError
end
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.