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

时间:2017-06-13 04:46:19

标签: 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并尝试了,但也没有解决问题。

1 个答案:

答案 0 :(得分:1)

在执行来自Apple的c工具链(Xcode 8.3)更新后,根据similar issue以及Golang issue #19734cgo命令在darwin中被破坏。

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