記錄一次使用node-bzip2解壓bz2文件的過程,安裝Visual Studio C++環境
-
代碼
import fs from 'fs'; import bzip2 from 'node-bzip2'; const filePath = 'C:/Users/xxx.bz2'; fs.readFile(filePath, async (err, data) => { if (err) { console.error('讀取文件出錯:', err); return; } console.time('時間') // const input =new Uint8Array(data); const output = bzip2.decompress(data, { small: false }); // small代表是否用低內存占用模式 如果是true,解壓時間會比較慢 console.log('decompressed length:', output.length); console.timeEnd('時間') // output 是 Uint8Array,可以按需處理 });
300M的Bzip2文件大約需要22s,已經比其他庫的至少40多s快很多了,但是一個關鍵點是,下載npm 安裝 node-bzip2時必須有 Visual Studio(含 C++ 工作負載)環境;
node-bzip2 需要編譯 C++ 原生擴展,必須有 Visual Studio(含 C++ 工作負載)環境。你當前沒有安裝 Visual Studio 或沒有安裝 C++ 工作負載,所以無法編譯安裝。
1. 安裝 Visual Studio(含 C++ 工作負載)
- 下載并安裝 Visual Studio Community。
- 安裝時勾選“使用C++的桌面開發”(Desktop development with C++)。
- 安裝完成后,重啟電腦,再重新執行
npm install node-bzip2。
進入網站,直接點擊下載即可,
下載好后,雙擊安裝

裝前記得勾選 使用C++的桌面開發
安裝完成后重新啟動電腦
然后安裝node-bzip2
yarn add node-bzip2
但是報錯 cmake不是內部或外部命令
原因:
node-bzip2依賴 CMake 進行編譯,但你的系統沒有安裝 CMake,導致編譯失敗。- 這類原生擴展在 Windows 下經常因為缺少依賴(如 CMake、Python、VS C++工具鏈等)而安裝失敗。
1. 安裝 CMake
- 訪問 CMake 官網 下載并安裝 CMake。
- 安裝時勾選“Add CMake to the system PATH”。
- 安裝完成后,重啟命令行窗口,輸入
cmake --version,能看到版本號說明安裝成功。 - 然后再嘗試
npm install node-bzip2。

安裝時勾選“Add CMake to the system PATH”。
然后用 cmake --version驗證是否安裝成功
之后繼續安裝node-bzip2
如果是electron項目,不建議使用node-bzip2,因為
兼容性風險
- 你打包時的操作系統、Node.js 版本、CPU 架構必須和用戶機器完全一致,否則
.node文件可能無法加載或報錯。 - 跨平臺(Windows/macOS/Linux)或不同架構(x64/arm)時,必須分別在每個平臺/架構下打包生成對應的安裝包
node-bzip2 屬于原生擴展模塊,在跨平臺項目(如 Electron 應用)中使用有明顯兼容和分發風險,主要體現在:
- 每個平臺/架構都要單獨編譯和打包,不能直接通用。
- 用戶環境缺少編譯工具時安裝容易失敗。
- Node.js 版本升級后可能需要重新編譯。
推薦跨平臺場景優先使用純 JS 或 wasm 實現(如 unbzip2-stream、seek-bzip),這樣可以大大簡化分發和兼容性問題。
-

浙公網安備 33010602011771號