我正在 Debian 環(huán)境中運行 Go 應用程序。我的所有開發(fā)都在 OSX 上進行并且運行良好,但是我在從 Go 代碼在 shell 上運行命令時遇到問題。cmdName := "cwebp"cmdArgs := []string{srcPath, "-o", dstPath}log.Printf("Executing %s : %+v", cmdName, cmdArgs)cmd := exec.Command(cmdName, cmdArgs...)_, err := cmd.StdoutPipe()if err != nil { log.Printf("Error: %s", err)}err = cmd.Run()if err != nil { log.Printf("Error: %s", err)}應用程序進程從我的 root 用戶運行,當我從 shell 運行它時,該命令工作正常。早些時候,我認為我面臨的問題是由于 PATH 環(huán)境變量不正確。在運行命令之前打印它,我得到了正確的路徑。此外,我嘗試使用LookPath并獲得了正確的路徑/usr/local/bin/cwebp。
1 回答
楊__羊羊
TA貢獻1943條經(jīng)驗 獲得超7個贊
問題不在于命令的執(zhí)行,而是 Go 無法找到正確的庫。在檢查命令的輸出時,我得到以下信息:
cwebp: error while loading shared libraries: libwebp.so.5: cannot open shared object file: No such file or directory
這讓我得出一個方向,那就是 libwebp 的安裝肯定有問題。早些時候,我從源代碼構建了 libwebp。所以,我通過安裝它apt-get install libwebp-dev并且命令成功運行。
- 1 回答
- 0 關注
- 223 瀏覽
添加回答
舉報
0/150
提交
取消
