Что такое формат файла LOCKB?
Файл .lockb - это бинарный лок-файл, создаваемый Bun, менеджером пакетов и средой выполнения JavaScript и TypeScript от Oven. Почти всегда он называется bun.lockb и находится в корне проекта. Bun записывает его при запуске bun install, фиксируя полный разрешенный граф зависимостей: каждый пакет, его точную версию, метаданные, подзависимости и хеши целостности. Фиксация этих данных позволяет всем участникам команды и CI-системам устанавливать идентичное дерево зависимостей.
Oven разработали этот формат бинарным ради скорости. Данные хранятся в линейных массивах, ссылки на пакеты идут по индексу или хешу имени, а длинные строки дедуплицируются. Файл начинается с ASCII-заголовка bun-lockfile-format-v0. Недостатком является то, что бинарный лок-файл сложно проверять, и он не отображается в Git diff, поэтому в Bun v1.1.39 был добавлен текстовый лок-файл, а в Bun v1.2 формат bun.lock стал стандартом для новых проектов. Существующие файлы bun.lockb по-прежнему поддерживаются.
Безопасность и защита
РИСК: LOWA bun.lockb file is generated data, not an executable, so opening or committing it is safe. Bun can 'run' the file only in the sense that bun ./bun.lockb prints its contents; it does not execute arbitrary code from the file. The only real caution is supply-chain trust: the lockfile pins specific package versions and their sources, so review dependency changes as you would any lockfile update. Never edit it by hand, since a corrupted binary lockfile will fail to parse.
Детали формата
в двух словахПрограммы, открывающие файлы LOCKB
bun bun.lockb in the project directory to print the lockfile as readable yarn.lock-style text, or bun install to use it. bun.lockb. bun.lockb and print its contents without installing Bun. bun bun.lockb to print the lockfile as readable text, or bun install to reinstall from it. bun.lockb as text inside the editor. bun.lockb contents in Node or the browser without Bun installed. bun bun.lockb for a readable text dump, or bun install to install dependencies from it. bun.lockb as readable text. git config diff.lockb.textconv bun so git diff shows bun.lockb changes as readable text. Технические подробности
глубокая спецификация| Encoding | Binary (serialized struct-of-arrays memory dump) |
| Byte order | Little-endian (native to the machine that wrote it) |
| Container | Flat custom binary format, not a standard container |
| Compression | None; long strings over 88 characters are deduplicated to save space |
| Typical size | A few KB to a few hundred KB depending on dependency count |
| Structure | A header/magic string followed by linear arrays: package list, string buffer, dependency slices, resolutions, and hoisting trees. Packages are referenced by an auto-incrementing index or a hash of the package name rather than by repeated name strings. |
| Integrity | Stores npm-style integrity hashes for each resolved package; the format itself is version-tagged via the header string |
| Platforms | Windows, macOS, Linux |
| Notes | Designed for fast reads and memory mapping. It is not human-readable and does not render in Git or GitHub diffs without a textconv helper. Superseded as the default by the text-based bun.lock (JSONC) in Bun v1.2, but still supported. |
| Human Readable | No |
| Выпущен | 2022 |
| Последняя версия | bun-lockfile-format-v0 |
| Спецификация | github.com |
Конвертации LOCKB
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах LOCKB.
Часто задаваемые вопросы
Как мне открыть файл bun.lockb?
bun bun.lockb. Bun выведет содержимое лок-файла как читаемый текст в стиле yarn.lock. Для этого должен быть установлен Bun.Почему bun.lockb бинарный, а не текстовый?
Нужно ли фиксировать (commit) bun.lockb в Git?
Как конвертировать bun.lockb в новый bun.lock?
bun install --save-text-lockfile --frozen-lockfile --lockfile-only, затем удалите старый bun.lockb. Bun v1.2 использует текстовый bun.lock по умолчанию для новых проектов.Можно ли редактировать файл bun.lockb вручную?
package.json и запустите bun install, чтобы перегенерировать лок-файл. Ручное редактирование бинарного файла приведет к его повреждению.