Dependencies

Install Maven and npm dependencies with Elide

elide install installs project dependencies without requiring a separate package-manager executable.

EcosystemEnable it withRead from
MavenIncluded by defaultelide.pkl or a project selected with -p
npm--ecosystems=npmelide.pkl and package.json
PyPINot available in Elide 1.5.0Dependency declarations are accepted, but not installed

Install dependencies

elide install                         # Maven
elide install --ecosystems=npm       # npm
elide install --ecosystems=maven,npm # both
elide install --workspace            # every available declared ecosystem
Installing Maven and npm dependencies explicitly with Elide

A foreign manifest does not silently enable its ecosystem. For example, a package.json is used only when npm is selected. A bare Maven install may finish without warning that npm dependencies were skipped, so select every ecosystem required by CI explicitly.

An unavailable or unknown ecosystem is a usage error. In 1.5.0, --ecosystems=pypi reports that PyPI installation is unavailable.

Declare dependencies

An elide.pkl manifest can describe more than one ecosystem:

amends "elide:project.pkl"

dependencies {
  maven {
    packages {
      "com.google.guava:guava:33.4.8-jre"
    }
  }
  npm {
    packages {
      "react@19.0.0"
    }
  }
}

Existing package.json files also work for npm:

elide install --ecosystems=npm

For Maven projects that use only pom.xml, select the project directory explicitly:

elide install -p .

Maven options

These options apply to the Maven part of an install:

OptionEffect
--slimSkip sources and Javadoc classifiers.
--with=sourcesFetch sources in addition to each JAR. javadoc and docs are also accepted.
--directCopy artifacts into the project rather than linking them.
--freshIgnore cached resolution and download again.

Unknown classifier values fail with exit code 2 instead of being ignored.

Installed files

Project dependency state lives below .dev/dependencies/.

  • npm packages are installed below .dev/dependencies/npm/node_modules, with a project-root node_modules link for compatibility.
  • Maven artifacts use the standard Maven cache and are linked below .dev/dependencies/m2 for project inspection.
  • Maven classpaths are written as compile.classpath, runtime.classpath, test.classpath, and processors.classpath below that directory.

The npm resolver writes its own aube-lock.yaml. Elide does not currently combine every ecosystem into one dependency lockfile.

See Elide Projects for the full dependency schema and NPM Installer for npm-specific behavior.