code: def update(
      ctx,
      state,
      bare=False,
      dry_run=None,
      outdated=False,
      **kwargs
  ):
      
      from ..core import (
          ensure_project,
          do_outdated,
          do_lock,
          do_sync,
          project,
      )
  
      ensure_project(three=state.three, python=state.python, warn=True, pypi_mirror=state.pypi_mirror)
      if not outdated:
          outdated = bool(dry_run)
      if outdated:
          do_outdated(pypi_mirror=state.pypi_mirror)
      packages = [p for p in state.installstate.packages if p]
      editable = [p for p in state.installstate.editables if p]
      if not packages:
          echo(
              "{0} {1} {2} {3}{4}".format(
                  crayons.white("Running", bold=True),
                  crayons.red("$ pipenv lock", bold=True),
                  crayons.white("then", bold=True),
                  crayons.red("$ pipenv sync", bold=True),
                  crayons.white(".", bold=True),
              )
          )
      else:
          for package in packages + editable:
              if package not in project.all_packages:
                  echo(
                      "{0}: {1} was not found in your Pipfile! Aborting."
                      "".format(
                          crayons.red("Warning", bold=True),
                          crayons.green(package, bold=True),
                      ),
                      err=True,
                  )
                  ctx.abort()
  
      do_lock(
          clear=state.clear,
          pre=state.installstate.pre,
          keep_outdated=state.installstate.keep_outdated,
          pypi_mirror=state.pypi_mirror,
      )
      do_sync(
          ctx=ctx,
          dev=state.installstate.dev,
          three=state.three,
          python=state.python,
          bare=bare,
          dont_upgrade=not state.installstate.keep_outdated,
          user=False,
          clear=state.clear,
          unused=False,
          sequential=state.installstate.sequential,
          pypi_mirror=state.pypi_mirror,
      )
docs: Runs lock, then sync.