Skip to content

For npm users

aube can install directly from npm lockfiles. You do not need to delete package-lock.json or remove node_modules before trying aube.

Try the npm lockfile

sh
aube install

Run this from the project root, then review the lockfile diff and run your tests. For daily work, aubr build, aube test, and aube exec <bin> install automatically when dependencies are stale. Use aubx <pkg> for one-off tools.

aube reads:

  • package-lock.json v2 or v3
  • npm-shrinkwrap.json

If both files exist, npm-shrinkwrap.json takes precedence. aube updates the selected file and installs packages into node_modules/.aube/.

Keep npm working during rollout

Commit the updated package-lock.json (or npm-shrinkwrap.json) so both npm and aube users see the same resolved versions. You do not need aube import for a normal rollout; aube install keeps the npm lockfile as the shared source of truth.

Use aube import only if the team intentionally wants to convert the project to aube-lock.yaml. The new aube-lock.yaml takes precedence on later installs. Retire the old lockfile once the team has switched, to avoid maintaining two sources of truth.

Differences from npm

  • aube's default node_modules layout is isolated, not flat.
  • Only declared direct dependencies appear at the project top level, unless you opt into nodeLinker: hoisted.
  • Dependency lifecycle scripts (preinstall, install, postinstall) run only when project policy or aube's built-in trusted-dependencies list allows them. Explicit denies win. Legacy pnpm.onlyBuiltDependencies entries are still honored. Approved dependency builds can also run in a jail with package-specific env, path, and network permissions.
  • Global installs live under aube's global package directory instead of npm's shared global node_modules.

Reference: npm install

Next steps

See lifecycle scripts for build approvals, CI and containers for reproducible installs, and troubleshooting for compatibility problems.

MIT LicensejdxCopyright © 2026 jdx.dev