go - 添加 gokogiri 依赖导致 `Killed: 9` 退出

标签 go gokogiri

我使用的环境是MacOS Sierra上的go1.8

代码:

package main

import (
    "fmt"
    "io/ioutil"

    "github.com/moovweb/gokogiri"
    "github.com/moovweb/gokogiri/xpath"
)

func main() {
    fmt.Println("hello world")
    b, _ := ioutil.ReadFile("x.xml")
    fmt.Println(string(b))
    doc, _ := gokogiri.ParseXml(b)
    compiled := xpath.Compile("/path/to/node")
    ss, _ := doc.Root().Search(compiled)
    for _, s := range ss {
        fmt.Println(s.Content())
    }
}

在我构建并运行之后:

$ ./hello-world
Killed: 9

甚至 hello world 消息也不会打印出来。稍后,调查gokogiri自述文件,我看到了安装 libxml2 的说明。所以我做了 brew install libxml2 并尝试了,但也没有解决问题。

最佳答案

根据 similar issue , 以及 Golang issue #19734 , cgo从 Apple 执行 c 工具链 (Xcode 8.3) 更新后,darwin 上的命令中断。

解决方案:upgrade to go1.8.1 or above或添加 -ldflags=-sbuildtest命令,例如go build -ldflags=-s .

关于go - 添加 gokogiri 依赖导致 `Killed: 9` 退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44512577/

相关文章:

go - 在 Windows 上安装 gokogiri 时找不到错误 libxml2

go - 本地运行 Go Tour 时出错 : Couldn't find tour files: could not find go-tour content; check $GOROOT and $GOPATH

go - Go 中的 grpc header /cookie

go - 数据库已锁定(延迟行不起作用)

go - 如何限制与 Go API 的并发连接

loops - 为什么我的 go 协程在处理后卡住了?

macos - Go - 使用 xgo 库与 CGO 交叉编译