Skip to content

forge soldeer install

Install a dependency

If used with arguments, a dependency will be added to the configuration. When used without argument, installs all dependencies that are missing.

Examples:

  • Install all: soldeer install
  • Add from registry: soldeer install lib_name~2.3.0
  • Add with custom URL: soldeer install lib_name~2.3.0 --url https://foo.bar/lib.zip
  • Add with git: soldeer install lib_name~2.3.0 --git git@github.com
    /bar.git
  • Add with git (commit): soldeer install lib_name~2.3.0 --git git@github.com
    /bar.git --rev 05f218fb6617932e56bf5388c3b389c3028a7b73
  • Add with git (tag): soldeer install lib_name~2.3.0 --git git@github.com
    /bar.git --tag v2.3.0
  • Add with git (branch): soldeer install lib_name~2.3.0 --git git@github.com
    /bar.git --branch feature/baz
$ forge soldeer install --help
Usage: forge soldeer install [OPTIONS] [DEPENDENCY~VERSION]

Arguments:
  [DEPENDENCY~VERSION]
          The dependency name and version, separated by a tilde. The version is
          always required.
          
          If not present, this command will install all dependencies which are
          missing.

Options:
      --url <ZIP_URL>
          The URL to the dependency zip file.
          
          Example: https://my-domain/dep.zip

      --git <GIT_URL>
          The URL to the dependency repository.
          
          Example: git@github.com:foo/bar.git

      --rev <REV>
          A Git commit hash

      --tag <TAG>
          A Git tag

      --branch <BRANCH>
          A Git branch

  -g, --regenerate-remappings
          If set, this command will delete the existing remappings and re-create
          them

  -d, --recursive-deps
          If set, this command will install dependencies recursively (via git
          submodules or via soldeer)

      --clean
          Perform a clean install by re-installing all dependencies

      --config-location <CONFIG_LOCATION>
          Specify the config location without prompting.
          
          This prevents prompting the user if the automatic detection can't
          determine the config location.
          
          [possible values: foundry, soldeer]

  -h, --help
          Print help (see a summary with '-h')

  -j, --threads <THREADS>
          Number of threads to use. Specifying 0 defaults to the number of
          logical cores
          
          [aliases: --jobs]

Display options:
      --color <COLOR>
          The color of the log messages

          Possible values:
          - auto:   Intelligently guess whether to use color output (default)
          - always: Force color output
          - never:  Force disable color output

      --json
          Format log messages as JSON

  -q, --quiet
          Do not print log messages

  -v, --verbosity...
          Verbosity level of the log messages.
          
          Pass multiple times to increase the verbosity (e.g. -v, -vv, -vvv).
          
          Depending on the context the verbosity levels have different meanings.
          
          For example, the verbosity levels of the EVM are:
          - 2 (-vv): Print logs for all tests.
          - 3 (-vvv): Print execution traces for failing tests.
          - 4 (-vvvv): Print execution traces for all tests, and setup traces
          for failing tests.
          - 5 (-vvvvv): Print execution and setup traces for all tests,
          including storage changes.

For more information, read the README.md