Bun 1.2.19 Memperkenalkan Pemasangan Pakej Terpencil untuk Prestasi Windows 10x Lebih Pantas

Pasukan Komuniti BigGo
Bun 1.2.19 Memperkenalkan Pemasangan Pakej Terpencil untuk Prestasi Windows 10x Lebih Pantas

Kemas kini terbaru Bun membawa ciri revolusioner yang menjanjikan perubahan besar dalam cara pakej JavaScript dipasang, terutamanya untuk pengguna Windows . Penghubung nod terpencil yang baharu, diilhamkan oleh pendekatan pnpm , dijadualkan untuk dilancarkan dengan Bun v1.2.19 dan menangani isu-isu lama dalam pengurusan kebergantungan sambil memberikan peningkatan prestasi yang mengagumkan.

Peningkatan Prestasi Besar-besaran pada Windows

Mod pemasangan terpencil memberikan peningkatan kelajuan yang luar biasa, terutamanya pada sistem Windows di mana pengguna boleh mengharapkan pemasangan pakej 10x hingga 20x lebih pantas. Walaupun pengguna macOS dan Linux akan melihat peningkatan yang lebih sederhana, kesan prestasi tetap positif merentas semua platform. Peningkatan ketara ini menjadikan Bun pilihan yang lebih menarik untuk pembangun yang bekerja dalam persekitaran platform campuran.

Peningkatan Prestasi:

  • Windows : pemasangan 10x hingga 20x lebih pantas
  • macOS / Linux : kesan prestasi positif kecil atau neutral

Kebolehpercayaan Dipertingkat untuk Monorepos

Selain daripada kelajuan, penghubung terpencil menangani isu-isu kebolehpercayaan kritikal yang telah lama mengganggu pengurusan pakej JavaScript . Dengan mencegah kebergantungan hantu dan pautan simbolik tergantung, ciri ini menjadikan pemasangan Bun lebih boleh dipercayai dalam persekitaran monorepo. Sistem ini memastikan bahawa kebergantungan hanya boleh mengakses versi pakej lain yang mereka nyatakan secara eksplisit dalam fail package.json mereka sendiri, menghapuskan ralat masa jalan yang misteri disebabkan oleh penyelesaian kebergantungan tersirat.

Kebergantungan hantu: pakej yang berfungsi dalam pembangunan tetapi tidak dinyatakan secara eksplisit sebagai kebergantunganPautan simbolik tergantung: pautan simbolik yang rosak yang menunjuk kepada fail atau direktori yang tidak wujud

Struktur Direktori:

node_modules/
├── .modules.yaml
├── [email protected]/
│   └── node_modules/
│       └── [email protected]
└── my-dependency -> .modules/[email protected]/

Daya Tarikan Ekosistem yang Berkembang

Maklum balas komuniti mendedahkan peranan Bun yang berkembang melangkaui pengurusan pakej sahaja. Pembangun semakin menggunakan Bun untuk skrip shell, operasi pangkalan data, dan skrip utiliti, memuji ciri-ciri terbina dalam seperti sokongan SQLite dan fungsi klien S3 . Kepelbagaian ini meletakkan Bun sebagai runtime JavaScript yang komprehensif dan bukannya sekadar pengurus pakej yang lain.

Bun perlahan-lahan menjadi penyelesaian semua-dalam-satu untuk ekosistem js

Penghubung terpencil mewakili satu lagi langkah ke arah pendekatan bersatu ini, menawarkan pembangun alternatif yang lebih boleh dipercayai dan pantas kepada pemasangan npm tradisional sambil mengekalkan keserasian dengan aliran kerja sedia ada.

Ciri-ciri yang Disokong:

  • Pemasangan kebergantungan tunggal asas
  • Pakej berskop (@types/*)
  • Kebergantungan transitif
  • Kebergantungan kitaran
  • Kebergantungan folder
  • Sokongan ruang kerja
  • Pengesahan struktur pautan simbolik

Had Semasa dan Pandangan Masa Depan

Walaupun ciri ini sudah sedia untuk ujian melalui saluran keluaran canary, pepijat khusus Windows pada masa ini menghalang pasukan Bun daripada menggunakan pemasangan terpencil dalam repositori mereka sendiri. Isu ini perlu diselesaikan sebelum keluaran stabil, walaupun pengguna awal boleh bereksperimen dengan ciri ini menggunakan bun install --linker=isolated atau dengan mengkonfigurasinya dalam fail bunfig.toml mereka.

Pelaksanaan ini menyokong semua senario pengurusan pakej utama termasuk pakej berskop, kebergantungan rakan sebaya, ruang kerja, dan juga kitaran kebergantungan yang kompleks, menjadikannya penyelesaian yang kukuh untuk persekitaran pembangunan dunia sebenar.

Rujukan: implement nodeLinker: isolated in bun install #20440