From 8e9cc609096a11c9608a2617f599ae4a56bb681d Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Mon, 17 Nov 2025 21:36:31 +0800 Subject: [PATCH] :art: Improve ocr bin detect https://github.com/siyuan-note/siyuan/issues/7107#issuecomment-3541763667 Signed-off-by: Daniel <845765@qq.com> --- kernel/util/ocr.go | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/kernel/util/ocr.go b/kernel/util/ocr.go index ba01cc3f7..a9370071e 100644 --- a/kernel/util/ocr.go +++ b/kernel/util/ocr.go @@ -361,17 +361,21 @@ func getTesseractVer() (ret string) { gulu.CmdAttr(cmd) data, err := cmd.CombinedOutput() if err != nil { - if strings.Contains(err.Error(), "executable file not found") { + errMsg := strings.ToLower(err.Error()) + if strings.Contains(errMsg, "executable file not found") || strings.Contains(errMsg, "no such file or directory") { // macOS 端 Tesseract OCR 安装后不识别 https://github.com/siyuan-note/siyuan/issues/7107 TesseractBin = "/usr/local/bin/tesseract" cmd = exec.Command(TesseractBin, "--version") gulu.CmdAttr(cmd) data, err = cmd.CombinedOutput() - if err != nil && strings.Contains(err.Error(), "executable file not found") { - TesseractBin = "/opt/homebrew/bin/tesseract" - cmd = exec.Command(TesseractBin, "--version") - gulu.CmdAttr(cmd) - data, err = cmd.CombinedOutput() + if err != nil { + errMsg = strings.ToLower(err.Error()) + if strings.Contains(errMsg, "executable file not found") || strings.Contains(errMsg, "no such file or directory") { + TesseractBin = "/opt/homebrew/bin/tesseract" + cmd = exec.Command(TesseractBin, "--version") + gulu.CmdAttr(cmd) + data, err = cmd.CombinedOutput() + } } } }