Bun

bun link

在本地目录中使用 bun link 来注册当前包为一个“可链接”的包。

cd /path/to/cool-pkg
cat package.json
{
  "name": "cool-pkg",
  "version": "1.0.0"
}
bun link
bun link v1.x (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"

该包现在可以使用 bun link cool-pkg “链接”到其他项目。这将在目标项目的 node_modules 目录中创建一个符号链接,指向本地目录。

cd /path/to/my-app
bun link cool-pkg

此外,--save 标志可以用来将 cool-pkg 添加到您应用的 package.json 的 dependencies 字段中,并带有一个特殊的版本说明符,它会告诉 Bun 从已注册的本地目录加载,而不是从 npm 安装。

{
  "name": "my-app",
  "version": "1.0.0",
  "dependencies": {
    "cool-pkg": "link:cool-pkg"
  }
}

CLI 用法

$bun link <packages>

Flags

通用选项

-c,--config=<val>
指定配置文件路径 (bunfig.toml)
--cwd=<val>
设置特定的 cwd
-h,--help
打印此帮助菜单

安装范围

-g,--global
全局安装

依赖过滤

-p,--production
不安装 devDependencies
--omit=<val>
从安装中排除 'dev'、'optional' 或 'peer' 依赖项

Lockfile 管理

-y,--yarn
写入 yarn.lock 文件 (yarn v1)
--frozen-lockfile
不允许修改锁定文件
--save-text-lockfile
保存基于文本的锁定文件
--lockfile-only
生成锁定文件而不安装依赖项

项目文件更新

--no-save
不更新 package.json 或保存锁定文件
--save
保存到 package.json(默认为 true)
--trust
添加到项目 package.json 中的 trustedDependencies 并安装包。

链接与安装行为

-f,--force
始终从注册表请求最新版本并重新安装所有依赖项
--no-verify
跳过验证新下载包的完整性
--backend=<val>
用于安装依赖项的特定于平台的优化。可能的值:“clonefile”(默认值)、“hardlink”、“symlink”、“copyfile”。
--linker=<val>
链接器策略(“isolated”或“hoisted”之一)

Network & Registry

--ca=<val>
提供一个证书颁发机构签名证书。
--cafile=<val>
与 `--ca` 相同,但指向证书的文件路径。
--registry=<val>
默认使用特定的注册表,覆盖 .npmrc、bunfig.toml 和环境变量。

Caching

--cache-dir=<val>
从特定目录路径存储和加载缓存数据。
--no-cache
完全忽略清单缓存。

执行流程

--dry-run
不安装任何东西
--ignore-scripts
跳过项目 package.json 中的生命周期脚本(依赖项脚本永远不会运行)

输出与详细程度

--silent
不记录任何内容。
--quiet
打包时仅显示 tarball 名称。
--verbose
非常详细的日志记录。
--no-progress
禁用进度条。
--no-summary
不打印摘要。

并发与性能

--concurrent-scripts=<val>
生命周期脚本的最大并发作业数(默认 5)
--network-concurrency=<val>
最大并发网络请求数(默认 48)

Platform Overrides

--cpu=<val>
为可选依赖项覆盖 CPU 架构(例如,x64、arm64、* 表示所有)。
--os=<val>
为可选依赖项覆盖操作系统(例如,linux、darwin、* 表示所有)。

Examples

目录应包含一个 package.json。
bun link
将先前注册的可链接包添加为当前项目的依赖项。
bun link <package>
完整文档可在 https://bun.net.cn/docs/cli/link 找到。