[Runtime
](../../../index.md)[Package Manager
](../install/index.md)[Bundler
](../../../bundler/index.md)[Test Runner
](../../../test/index.md)[Guides
](../../../guides/index.md)[Reference
](https://bun.com/reference)[Blog
](https://bun.com/blog)[Feedback
](../../../feedback/index.md)
Use bun link in a local directory to register the current package as a “linkable” package.
terminal
cd /path/to/cool-pkg
cat package.json
bun link
bun link v1.3.3 (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.
terminal
cd /path/to/my-app
bun link cool-pkg
In 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:
package.json
{
"name": "my-app",
"version": "1.0.0",
"dependencies": {
"cool-pkg": "link:cool-pkg"
}
}
[
](#unlinking)
Unlinking
Use bun unlink in the root directory to unregister a local package.
terminal
cd /path/to/cool-pkg
bun unlink
bun unlink v1.3.3 (7416672e)
[
](#cli-usage)
CLI Usage
bun link <packages>
[
](#installation-scope)
Installation Scope
[
](#param-global)
--global
boolean
Install globally. Alias: -g
[
](#dependency-management)
Dependency Management
[
](#param-production)
--production
boolean
Don’t install devDependencies. Alias: -p
[
](#param-omit)
--omit
string
Exclude dev, optional, or peer dependencies from install
[
](#project-files-&-lockfiles)
Project Files & Lockfiles
[
](#param-yarn)
--yarn
boolean
Write a yarn.lock file (yarn v1). Alias: -y
[
](#param-frozen-lockfile)
--frozen-lockfile
boolean
Disallow changes to lockfile
[
](#param-save-text-lockfile)
--save-text-lockfile
boolean
Save a text-based lockfile
[
](#param-lockfile-only)
--lockfile-only
boolean
Generate a lockfile without installing dependencies
[
](#param-no-save)
--no-save
boolean
Don’t update package.json or save a lockfile
[
](#param-save)
--save
boolean
default:"true"
Save to package.json (true by default)
[
](#param-trust)
--trust
boolean
Add to trustedDependencies in the project’s package.json and install the package(s)
[
](#installation-control)
Installation Control
[
](#param-force)
--force
boolean
Always request the latest versions from the registry & reinstall all dependencies. Alias: -f
[
](#param-no-verify)
--no-verify
boolean
Skip verifying integrity of newly downloaded packages
[
](#param-backend)
--backend
string
default:"clonefile"
Platform-specific optimizations for installing dependencies. Possible values: clonefile (default), hardlink, symlink, copyfile
[
](#param-linker)
--linker
string
Linker strategy (one of isolated or hoisted)
[
](#param-dry-run)
--dry-run
boolean
Don’t install anything
[
](#param-ignore-scripts)
--ignore-scripts
boolean
Skip lifecycle scripts in the project’s package.json (dependency scripts are never run)
[
](#network-&-registry)
Network & Registry
[
](#param-ca)
--ca
string
Provide a Certificate Authority signing certificate
[
](#param-cafile)
--cafile
string
Same as —ca, but as a file path to the certificate
[
](#param-registry)
--registry
string
Use a specific registry by default, overriding .npmrc, bunfig.toml, and environment variables
[
](#param-network-concurrency)
--network-concurrency
number
default:"48"
Maximum number of concurrent network requests (default 48)
[
](#performance-&-resource)
Performance & Resource
[
](#param-concurrent-scripts)
--concurrent-scripts
number
default:"5"
Maximum number of concurrent jobs for lifecycle scripts (default 5)
[
](#caching)
Caching
[
](#param-cache-dir)
--cache-dir
string
Store & load cached data from a specific directory path
[
](#param-no-cache)
--no-cache
boolean
Ignore manifest cache entirely
[
](#output-&-logging)
Output & Logging
[
](#param-silent)
--silent
boolean
Don’t log anything
[
](#param-quiet)
--quiet
boolean
Only show tarball name when packing
[
](#param-verbose)
--verbose
boolean
Excessively verbose logging
[
](#param-no-progress)
--no-progress
boolean
Disable the progress bar
[
](#param-no-summary)
--no-summary
boolean
Don’t print a summary
[
](#platform-targeting)
Platform Targeting
[
](#param-cpu)
--cpu
string
Override CPU architecture for optional dependencies (e.g., x64, arm64, * for all)
[
](#param-os)
--os
string
Override operating system for optional dependencies (e.g., linux, darwin, * for all)
[
](#global-configuration-&-context)
Global Configuration & Context
[
](#param-config)
--config
string
Specify path to config file (bunfig.toml). Alias: -c
[
](#param-cwd)
--cwd
string
Set a specific current working directory
[
](#help)
Help
[
](#param-help)
--help
boolean
Print this help menu. Alias: -h
Was this page helpful?
[
Catalogs
Previous
](../../catalogs/index.md)[
bun pm
Next
](../pm/index.md)