Co to jest format pliku LOCKB?
Plik .lockb to binarny plik blokady utworzony przez Bun, menedżer pakietów i środowisko uruchomieniowe JavaScript i TypeScript od Oven. Prawie zawsze nazywa się bun.lockb i znajduje się w katalogu głównym projektu. Bun zapisuje go podczas wykonywania bun install, rejestrując kompletny rozwiązany graf zależności: każdy pakiet, jego dokładną wersję, metadane, podzależności i skróty integralności. Przypięcie tych wszystkich danych pozwala każdemu członkowi zespołu i zadaniu CI zainstalować to samo drzewo.
Oven stworzył ten format jako binarny ze względu na szybkość. Przechowuje on dane w liniowych tablicach, odwołuje się do pakietów poprzez indeks lub skrót nazwy pakietu i deduplikuje długie ciągi znaków. Plik zaczyna się od nagłówka ASCII bun-lockfile-format-v0. Wadą jest to, że binarny plik blokady jest trudny do przejrzenia i nie pojawia się w różnicach (diffs) Git, dlatego Bun v1.1.39 dodał tekstowy plik blokady, a Bun v1.2 uczynił bun.lock domyślnym dla nowych projektów. Istniejące pliki bun.lockb nadal działają.
Bezpieczeństwo
RYZYKO: 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.
Szczegóły formatu
w pigułceProgramy otwierające pliki 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. Szczegóły techniczne
specyfikacja| 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 |
| Wydano | 2022 |
| Najnowsza wersja | bun-lockfile-format-v0 |
| Specyfikacja | github.com |
Konwersje LOCKB
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki LOCKB.
Najczęściej zadawane pytania
Jak otworzyć plik bun.lockb?
bun bun.lockb. Bun wyświetli plik blokady jako czytelny tekst w stylu yarn.lock. Wymaga to zainstalowanego Bun.Dlaczego bun.lockb jest binarny, a nie tekstowy?
Czy powinienem commitować bun.lockb do Git?
Jak przekonwertować bun.lockb na nowy bun.lock?
bun install --save-text-lockfile --frozen-lockfile --lockfile-only, a następnie usuń stary bun.lockb. Bun v1.2 domyślnie używa tekstowego bun.lock dla nowych projektów.Czy mogę ręcznie edytować plik bun.lockb?
package.json i uruchom bun install, aby wygenerować plik blokady na nowo. Bezpośrednia edycja pliku binarnego spowoduje jego uszkodzenie.