> ## Documentation Index
> Fetch the complete documentation index at: https://bun.ll1025.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# 锁文件

> Bun 的锁文件格式与配置

`bun install` 会创建一个名为 `bun.lock` 的锁文件。

#### 是否应该提交到 git？

是的

#### 不安装只生成锁文件？

要生成锁文件而不安装到 `node_modules`，请使用 `--lockfile-only` 标志。锁文件始终会保存到磁盘，即使它已经与项目的 `package.json` 保持同步。

```bash terminal icon="terminal" theme={null}
bun install --lockfile-only
```

<Note>
  `--lockfile-only` 仍然会使用注册表元数据和 git/tarball 依赖来填充全局安装缓存。
</Note>

#### 可以选择退出吗？

要安装而不创建锁文件：

```bash terminal icon="terminal" theme={null}
bun install --no-save
```

要\_额外\_写入 Yarn 锁文件（与 `bun.lock` 一起）：

<CodeGroup>
  ```bash terminal icon="terminal" theme={null}
  bun install --yarn
  ```

  ```toml bunfig.toml icon="settings" theme={null}
  [install.lockfile]
  # 是否在 bun.lock 之外保存非 Bun 锁文件
  # 仅支持 "yarn"
  print = "yarn"
  ```
</CodeGroup>

#### 基于文本的锁文件

Bun v1.2 将默认锁文件格式更改为基于文本的 `bun.lock`。要迁移现有的二进制 `bun.lockb`，请运行 `bun install --save-text-lockfile --frozen-lockfile --lockfile-only` 并删除 `bun.lockb`。

有关格式的更多信息，请参阅[博客文章](https://bun.com/blog/bun-lock-text-lockfile)。

#### 自动锁文件迁移

在没有 `bun.lock` 的项目中运行 `bun install` 时，Bun 会自动迁移现有的锁文件：

* `yarn.lock` (v1)
* `package-lock.json` (npm)
* `pnpm-lock.yaml` (pnpm)

原始的锁文件会被保留，可以在验证后手动删除。
