2017-06-13 17 views
0

私が使用している環境はMacOS Sierraではgo1.8です。gokogiri依存関係を追加すると `Killed:9`が出る

コード:私はビルドして実行した後

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 READMEを調べると、libxml2のインストール方法が分かりました。だから私はbrew install libxml2を試してみたが、それも問題を解決しなかった。

+0

おそらく['libxslt'](http://brewformulas.org/Libxslt)もインストールする必要があります。 'libxml2'と' libxslt'の両方をインストールした後、パッケージを再コンパイルするために 'go get -u github.com/moovweb/gokogiri'を実行する必要があると思います。 – putu

+0

'brew install libxslt'を実行しましたが、まだ運がありません:-( –

+2

[この問題](https://github.com/shirou/gopsutil/issues/339)が見つかりました。' go1.8.1'にアップグレードするか、 go build -ldflags = -s'。 – putu

答えて

1

similar issueによるとGolang issue #19734cgoのコマンドは、アップルからcツールチェーン(Xcode 8.3)アップデートを実行した後にdarwinで壊れています。

解決策:upgrade to go1.8.1 or aboveまたは-ldflags=-sからbuildまたはtestコマンドを追加してください。 go build -ldflags=-s

関連する問題