terminal
terminal
--dev
Alias —
--development, -d, -D"devDependencies"):
terminal
--optional
To add a package as an optional dependency ("optionalDependencies"):
terminal
--peer
To add a package as a peer dependency ("peerDependencies"):
terminal
--exact
Alias —
-E--exact. This will resolve the version of the package and add it to your package.json with an exact version number instead of a version range.
terminal
package.json:
package.json
terminal
--global
Note — This would not modify package.json of your current project folder. Alias -
bun add --global, bun add -g, bun install --global and bun install -g-g/--global flag. This will not modify the package.json of your current project. Typically this is used for installing command-line tools.
terminal
Configuring global installation behavior
Configuring global installation behavior
bunfig.toml
Trusted dependencies
Unlike other npm clients, Bun does not execute arbitrary lifecycle scripts for installed dependencies, such aspostinstall. These scripts represent a potential security risk, as they can execute arbitrary code on your machine.
To tell Bun to allow lifecycle scripts for a particular package, add the package to trustedDependencies in your package.json.
package.json
my-trusted-package.
Git dependencies
To add a dependency from a public or private git repository:terminal
To install private repositories, your system needs the appropriate SSH credentials to access the repository.
github, git, git+ssh, git+https, and many more.
package.json
Tarball dependencies
A package name can correspond to a publicly hosted.tgz file. During installation, Bun will download and install the package from the specified tarball URL, rather than from the package registry.
terminal
package.json:
package.json
CLI Usage
Dependency Management
boolean
Don’t install devDependencies. Alias:
-pstring
Exclude
dev, optional, or peer dependencies from installboolean
Install globally. Alias:
-gboolean
Add dependency to
devDependencies. Alias: -dboolean
Add dependency to
optionalDependenciesboolean
Add dependency to
peerDependenciesboolean
Add the exact version instead of the
^ range. Alias: -Eboolean
Only add dependencies to
package.json if they are not already presentProject Files & Lockfiles
boolean
Write a
yarn.lock file (yarn v1). Alias: -yboolean
Don’t update
package.json or save a lockfileboolean
default:"true"
Save to
package.json (true by default)boolean
Disallow changes to lockfile
boolean
Add to
trustedDependencies in the project’s package.json and install the package(s)boolean
Save a text-based lockfile
boolean
Generate a lockfile without installing dependencies
Installation Control
boolean
Don’t install anything
boolean
Always request the latest versions from the registry & reinstall all dependencies. Alias:
-fboolean
Skip verifying integrity of newly downloaded packages
boolean
Skip lifecycle scripts in the project’s
package.json (dependency scripts are never run)boolean
Recursively analyze & install dependencies of files passed as arguments (using Bun’s bundler). Alias:
-aNetwork & Registry
string
Provide a Certificate Authority signing certificate
string
Same as
—ca, but as a file path to the certificatestring
Use a specific registry by default, overriding
.npmrc, bunfig.toml, and environment
variablesnumber
default:"48"
Maximum number of concurrent network requests (default 48)
Performance & Resource
string
default:"clonefile"
Platform-specific optimizations for installing dependencies. Possible values:
clonefile (default),
hardlink, symlink, copyfilenumber
default:"5"
Maximum number of concurrent jobs for lifecycle scripts (default 5)
Caching
string
Store & load cached data from a specific directory path
boolean
Ignore manifest cache entirely
Output & Logging
boolean
Don’t log anything
boolean
Excessively verbose logging
boolean
Disable the progress bar
boolean
Don’t print a summary
Global Configuration & Context
string
Specify path to config file (
bunfig.toml). Alias: -cstring
Set a specific current working directory
Help
boolean
Print this help menu. Alias:
-h