seniorRuby
What happens internally when Ruby loads a file using require?
Updated May 17, 2026
Short answer
require loads and executes a Ruby file once, tracking it via a load path cache.
Deep explanation
When require is called, Ruby checks $LOADED_FEATURES to avoid duplicate loading. It resolves the file using $LOAD_PATH, reads and parses the file into bytecode, and executes it in the current process. Extensions (.so) are dynamically loaded via the Ruby VM’s native extension loader.
Unlock with a Pro subscription to view this section.
View pricingReal-world example
No real-world example available yet.
Unlock with a Pro subscription to view this section.
Upgrade to ProCommon mistakes
No common mistakes listed yet.
Unlock with a Pro subscription to view this section.
Upgrade to ProFollow-up questions
No follow-up questions available yet.
Unlock with a Pro subscription to view this section.
Upgrade to Pro