Method: Bundler::Definition#ensure_equivalent_gemfile_and_lockfile

Defined in:
lib/bundler/definition.rb

#ensure_equivalent_gemfile_and_lockfile(explicit_flag = false) ⇒ Object

Raises:

[View source]

410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
# File 'lib/bundler/definition.rb', line 410

def ensure_equivalent_gemfile_and_lockfile(explicit_flag = false)
  return unless Bundler.frozen_bundle?

  raise ProductionError, "Frozen mode is set, but there's no lockfile" unless lockfile_exists?

  msg = lockfile_changes_summary("frozen mode is set")
  return unless msg

  unless explicit_flag
    suggested_command = unless Bundler.settings.locations("frozen").keys.include?(:env)
      "bundle config set frozen false"
    end
    msg << "\n\nIf this is a development machine, remove the #{SharedHelpers.relative_lockfile_path} " \
           "freeze by running `#{suggested_command}`." if suggested_command
  end

  raise ProductionError, msg
end