diff --git a/Gemfile b/Gemfile index f9a8841d52e..607ecc0feab 100644 --- a/Gemfile +++ b/Gemfile @@ -2,8 +2,7 @@ source 'https://rubygems.org' # if there is a super emergency and rubygems is playing up, try #source 'http://production.cf.rubygems.org' -# does not install in linux ATM, so hack this for now -gem 'bootsnap', require: false +gem 'bootsnap', require: false, platform: :mri def rails_master? ENV["RAILS_MASTER"] == '1' diff --git a/config/boot.rb b/config/boot.rb index 16ed53b095a..ba9f61acee3 100644 --- a/config/boot.rb +++ b/config/boot.rb @@ -11,14 +11,20 @@ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__) require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE']) if ENV['RAILS_ENV'] != 'production' && ENV['RAILS_ENV'] != 'profile' - require 'bootsnap' + begin + require 'bootsnap' + rescue LoadError + # not a strong requirement + end - Bootsnap.setup( - cache_dir: 'tmp/cache', # Path to your cache - load_path_cache: true, # Should we optimize the LOAD_PATH with a cache? - autoload_paths_cache: true, # Should we optimize ActiveSupport autoloads with cache? - disable_trace: false, # Sets `RubyVM::InstructionSequence.compile_option = { trace_instruction: false }` - compile_cache_iseq: true, # Should compile Ruby code into ISeq cache? - compile_cache_yaml: false # Skip YAML cache for now, cause we were seeing issues with it - ) + if defined? Bootsnap + Bootsnap.setup( + cache_dir: 'tmp/cache', # Path to your cache + load_path_cache: true, # Should we optimize the LOAD_PATH with a cache? + autoload_paths_cache: true, # Should we optimize ActiveSupport autoloads with cache? + disable_trace: false, # Sets `RubyVM::InstructionSequence.compile_option = { trace_instruction: false }` + compile_cache_iseq: true, # Should compile Ruby code into ISeq cache? + compile_cache_yaml: false # Skip YAML cache for now, cause we were seeing issues with it + ) + end end