macOS下latex编译环境搭建
如无必要,勿增实体
最近因为在使用MacTex自带的TexShop编译bib文件时,出现了下面的错误:
usage: lipo <input_file> <command> [<options> ...]
command is one of:
-create[_album]
-info
-detailed_info
-thin <arch>
-extract <arch> [-extract <arch> ...]
-remove <arch> [-remove <arch> ...]
-replace <arch> <file_name> [-replace <arch> <file_name> ...]
-verify_arch <arch> ...
-archs
options are one or more of:
-arch <arch> <input_file>
-o <output_file>
-segalign <arch> <alignment>
/Library/TeX/texbin/biber: extracting arm64 binary with lipo failed (wstatus=256)
一时间以为是未升级依赖的原因。但是折腾升级之后依然如此,才发现这个lipo只是将某个芯片架构的程序提取出来的工具。问了Gemini之后才发现,这个主要是苹果自己的锅。它是跟着xcode-command-line-tools一起安装的。但是它现在无法从biber里面提取arm64架构的程序,可能是我更新了系统版本,导致这个没有适配。附上Gemini的回答:
這個錯誤通常發生在 macOS 系統上,當你嘗試執行特地為 Apple Silicon (arm64) 和 Intel (x86_64) 設計的通用二進位檔案(Universal Binary)時,系統底層的 lipo 工具在解包過程中失敗了。 錯誤代碼 wstatus=256 通常代表找不到命令(Command not found)或權限被拒絕。最常見的原因是你的系統沒有安裝 Xcode 命令列工具(Command Line Tools),或者執行路徑發生了衝突。 請依照以下步驟依序排查與修正:
- 安裝或重設 Xcode 命令列工具(最常見解法)
lipo 是由 Xcode 或命令列工具提供的二進位管理工具。如果沒有安裝,系統就無法呼叫它。 請開啟「終端機」(Terminal)並執行以下指令:
xcode-select --install請謹慎使用程式碼。 這會跳出一個視窗提示你安裝,請點選「安裝」並等待完成。 如果系統提示已經安裝,但依然報錯,請嘗試重設其路徑:
sudo xcode-select --reset請謹慎使用程式碼。
- 檢查 lipo 是否能正常執行
安裝或重設完成後,測試 lipo 是否能被系統找到:
which lipo請謹慎使用程式碼。 正常狀況下,它應該會輸出 /usr/bin/lipo。 接著測試隨便看一個資訊:
lipo -info請謹慎使用程式碼。 如果沒有再跳出錯誤,代表 lipo 已經可以正常運作。
- 如果依然失敗:單獨為 Biber 修正(MacTeX 環境)
如果你的 lipo 正常但 biber 依然卡住,可能是 MacTeX 中的 biber 封裝腳本在解包時遇到了路徑或架構識別問題。你可以嘗試以下兩種替代方案:
- 方案 A:更新 MacTeX / TeX Live 舊版本的 Biber 腳本可能對 Apple Silicon 的相容性較差,建議更新你的 TeX 發行版:
sudo tlmgr update --self sudo tlmgr update biber請謹慎使用程式碼。
- 方案 B:手動下載原生 arm64 的 Biber 二進位檔 你可以到 Biber 官方 SourceForge 下載直接支援你的 Mac 架構(如 darwin_arm64)的獨立二進位檔案,將其解壓並替換掉 /Library/TeX/texbin/biber,這樣系統就不需要再透過 lipo 去做動態解包。 如果執行
xcode-select --install時遇到了其他錯誤,請告訴我: • 你的 Mac 是 M1/M2/M3 (Apple Silicon) 還是 Intel 晶片? • 執行 which lipo 後終端機回傳了什麼路徑? 我會為你提供更進一步的排查步驟。
反正折腾半天,官方支持不行,那就换个路子——直接找原生arm64的biber二进制。唯一比较气人的是MacTex这个大包足足占了8G空间,还出这么多幺蛾子。思来想去,还是卸载这个庞然大物,转而投靠小而美的BasicTex,搭配VSCode,使用体验直线上升。接下来,就跟着Gemini一起,卸载MacTex,安装BasicTex。
要完全移除 MacTeX 並換成輕量化的 BasicTeX(約 100+ MB,相比 MacTeX 的 5GB+ 大幅瘦身),同時在 M4 Mac 上搭配 VS Code 順暢運行,請按照以下步驟操作:
第一步:完全乾淨移除舊的 MacTeX
請開啟終端機(Terminal),依序複製並執行以下指令,徹底刪除舊的發行版與路徑殘留:
- 刪除主要發行版目錄及軟連結:
sudo rm -rf /usr/local/texlive sudo rm -rf /Library/TeX請謹慎使用程式碼。
- 刪除 GUI 應用程式(如 TeXShop、BibDesk 等):
sudo rm -rf /Applications/TeX請謹慎使用程式碼。
- 刪除偏好設定與快取殘留(選填,確保乾淨):
rm -rf ~/Library/Preferences/org.tug.mactex.plist rm -rf ~/Library/Application\ Support/TeXLive請謹慎使用程式碼。
第二步:安裝輕量化 BasicTeX
建議直接使用 Homebrew 安裝,它會自動處理 M4 晶片的環境變數與路徑:
brew install --cask basictex請謹慎使用程式碼。 (安裝完成後,請重啟你的終端機,或者執行
source ~/.zshrc讓環境變數生效。)⚠️ 關鍵補給:安裝常用的基礎套件
BasicTeX 因為極度精簡,預設沒有包含中文字型處理(ctex)及文獻檢索(biber)。為了避免等一下編譯報錯,請直接執行以下指令補齊常用套件:
sudo tlmgr update --self sudo tlmgr install ctex environ collection-fontsrecommended biber biblatex請謹慎使用程式碼。 註:透過此方式安裝的 biber 為適應新系統的最新版本,不會再觸發先前 lipo 的錯誤。
第三步:配置 VS Code 開發環境
- 在 VS Code 的 Extensions(擴充功能)市場中,搜尋並安裝 LaTeX Workshop 插件。
- 按下 Cmd + , 打開設定,點擊右上角的 Open Settings (JSON) 圖示,將以下基礎配置加入你的 settings.json 中:
{ "latex-workshop.latex.tools": [ { "name": "xelatex", "command": "xelatex", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%" ] }, { "name": "pdflatex", "command": "pdflatex", "args": [ "-synctex=1", "-interaction=nonstopmode", "-file-line-error", "%DOC%" ] }, { "name": "biber", "command": "biber", "args": [ "%DOCFILE%" ] } ], "latex-workshop.latex.recipes": [ { "name": "xe->bib->xe->xe (中文+文獻首選)", "tools": [ "xelatex", "biber", "xelatex", "xelatex" ] }, { "name": "pdflatex", "tools": [ "pdflatex" ] } ], "latex-workshop.view.pdf.viewer": "tab", "latex-workshop.latex.autoBuild.run": "onSave" }請謹慎使用程式碼。
驗證編譯
設定完成後,新建一個 .tex 檔案並儲存(例如 test.tex)。按下 Cmd + Option + B 進行編譯,或者點擊 VS Code 左側 LaTeX 面板的 Build LaTeX project。 如果編譯時右下角跳出 Package fontspec Error: The font “…” cannot be found(例如找不到 STHeiti 楷體等系統字型),或者提示缺少其他 .sty 檔案,請把錯誤訊息貼給我,我會告訴你對應要補裝的字型設定或套件指令。
最后是一些需要安装的包
sudo tlmgr install etoolbox luainputenc titlesec multirow pgfplots algorithms chngcntr makecell arydshln biblatex-gb7714-2015 xstring
接著,我們執行最後一次全域格式更新,確保所有剛安裝的巨集包與字型都被系統抓到:
sudo mktexlsr sudo fmtutil-sys --all請謹慎使用程式碼。
然后编译就大功告成了!
附上一个windows上装Clash verge rev的小技巧,只要把exe后缀改为7z,然后解压就行。
| 微信(WeChat Pay) | 支付宝(AliPay) |
|
|
| 比特币(Bitcoin) | 以太坊(Ethereum) |
|
|
| 以太坊(Base) | 索拉纳(Solana) |
|
|