bun link
Link local packages for development
Use bun link in a local directory to register the current package as a "linkable" package.
$ cd /path/to/cool-pkg
$ cat package.json
$ bun link
bun link v1.3.5 (7416672e)
Success! Registered "cool-pkg"
To use cool-pkg in a project, run:
bun link cool-pkg
Or add it in dependencies in your package.json file:
"cool-pkg": "link:cool-pkg"This package can now be "linked" into other projects using bun link cool-pkg. This will create a symlink in the node_modules directory of the target project, pointing to the local directory.
$ cd /path/to/my-app
$ bun link cool-pkgIn addition, the --save flag can be used to add cool-pkg to the dependencies field of your app's package.json with a special version specifier that tells Bun to load from the registered local directory instead of installing from npm:
{
"name": "my-app",
"version": "1.0.0",
"dependencies": {
"cool-pkg": "link:cool-pkg"
}
}Unlinking
Use bun unlink in the root directory to unregister a local package.
$ cd /path/to/cool-pkg
$ bun unlink
bun unlink v1.3.5 (7416672e)CLI Usage
$ bun link <packages>Installation Scope
Install globally. Alias: -g
Dependency Management
Don't install devDependencies. Alias: -p
Exclude dev, optional, or peer dependencies from install
Project Files & Lockfiles
Write a yarn.lock file (yarn v1). Alias: -y
Disallow changes to lockfile
Save a text-based lockfile
Generate a lockfile without installing dependencies
Don't update package.json or save a lockfile
Save to package.json (true by default)
Add to trustedDependencies in the project's package.json and install the
package(s)
Installation Control
Always request the latest versions from the registry & reinstall all dependencies. Alias:
-f
Skip verifying integrity of newly downloaded packages
Platform-specific optimizations for installing dependencies. Possible values:
clonefile (default), hardlink, symlink,
copyfile
Linker strategy (one of isolated or hoisted)
Don't install anything
Skip lifecycle scripts in the project's package.json (dependency scripts are never
run)
Network & Registry
Provide a Certificate Authority signing certificate
Same as --ca, but as a file path to the certificate
Use a specific registry by default, overriding .npmrc, bunfig.toml, and
environment variables
Maximum number of concurrent network requests (default 48)
Performance & Resource
Maximum number of concurrent jobs for lifecycle scripts (default 5)
Caching
Store & load cached data from a specific directory path
Ignore manifest cache entirely
Output & Logging
Don't log anything
Only show tarball name when packing
Excessively verbose logging
Disable the progress bar
Don't print a summary
Platform Targeting
Override CPU architecture for optional dependencies (e.g., x64, arm64,
* for all)
Override operating system for optional dependencies (e.g., linux, darwin
, * for all)
Global Configuration & Context
Specify path to config file (bunfig.toml). Alias: -c
Set a specific current working directory
Help
Print this help menu. Alias: -h