Go lang:如何在windows上安装libxml2 / gokogiri

时间:2015-04-27 16:58:02

标签: windows go libxml2

如果有一个相对简单的方法让go + libxml2 + gokogiri在windows上工作?

我的意思是我可以安装它(但目前我不能,坚持使用Package libxml-2.0 was not found in the pkg-config search path),但是我需要将我的实用工具提供给其他人,他们永远不会(或者会希望)安装lall libxml2依赖项,修改Windows上的PATH等...

它在Ubuntu上运行完美......

我发现这个https://github.com/moovweb/gokogiri/issues/49对于安装Gimp 2很有趣(什么?!),但我仍然不能让它运行时出现这样的错误,我猜可能是PATH的问题,但是所有的PATH都设置了

$ go get github.com/moovweb/gokogiri
# github.com/moovweb/gokogiri/help
Documents\go\src\github.com\moovweb\gokogiri\help\help.go:6:25: fatal error: lib
xml/tree.h: No such file or directory
 #include <libxml/tree.h>
                         ^
compilation terminated.
# github.com/moovweb/gokogiri/xpath
Documents\go\src\github.com\moovweb\gokogiri\xpath\expression.go:4:26: fatal err
or: libxml/xpath.h: No such file or directory
 #include <libxml/xpath.h>
                          ^
compilation terminated.

2 个答案:

答案 0 :(得分:2)

您正在努力,因为很难将由不同人员构建的软件包用于不同目的并正确设置您的环境。我认为最好使用MSYS2,这是一个Windows环境,为gcc,go,libxml2和iconv之类的东西提供一致的包。 MSYS2有一个包管理器(pacman),可以帮助您轻松安装并保持更新。

我没有用Go做很多编程,但我熟悉MSYS2,似乎我能够使用MSYS2安装gokogiri。你应该打开MSYS2&#34; MinGW-w64 Win64 Shell&#34;从开始菜单(mingw64_shell.bat),并尝试运行这些命令:

pacman -S mingw-w64-x86_64-{gcc,go,libxml2,iconv}
export GOROOT=/mingw64/
export GOPATH=/c/Users/David/Documents/goproj/
mkdir -p $GOPATH
go git github.com/moovweb/gokogiri

我认为应该将GOPATH设置为项目目录。如果你遇到错误,可能是因为我需要在这里列出一些pacman包。

字符串mingw-w64-x86_64-{gcc,go,libxml2,iconv}被Bash扩展为以下包列表:

mingw-w64-x86_64-gcc
mingw-w64-x86_64-go
mingw-w64-x86_64-libxml2
mingw-w64-x86_64-iconv

如果您实际使用的是32位Windows,请在上面的说明中将x86_64替换为i686

如果您感到好奇,构建这些软件包的脚本就在这里:https://github.com/Alexpux/MINGW-packages

作为免责声明,我实际上并没有在MSYS2中编译任何go程序,因此可能会出现我不知道的大问题。

另外,MSYS2的主要开发者之一(alexpux)在2015-06-21的#msys2 IRC聊天中说了这个:

  

我们不打造很长一段时间。   此包处于非常WIP状态   另见   https://github.com/Alexpux/MINGW-packages/issues/421

因此,您可能需要修复MSYS2 Go程序包中的一些问题并自行重新编译以使其正常工作。但是你有用于构建它的PKGBUILD脚本,所以也许这比你现在尝试做的要简单,这涉及编译/收集gokogiri的每个依赖。

MSYS2将使您的其他安装go,libxml2和iconv过时。一旦MSYS2环境正常工作,您就可以删除这些内容。

答案 1 :(得分:0)

如果您正在使用visual studio并希望为项目添加依赖项,那么只需使用NuGet Package Manager安装它就是最简单的方法。 安装命令:Install-Package libxml2