如果有一个相对简单的方法让go + libxml2 + gokogiri在窗口上工作呢?
我的意思是,我可能可以安装它(但目前我不能,坚持使用Package libxml-2.0 was not found in the pkg-config search path),但我需要提供我的功利石给其他人,他们将永远无法(或希望)安装所有的libxml2依赖关系,修改路径等窗口.
它在Ubuntu上完美无缺..。
我发现这个https://github.com/moovweb/gokogiri/issues/49在安装Gimp 2时很有趣(什么?!),但是我仍然不能让它以这样的错误运行,我想这可能是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.发布于 2015-06-21 17:47:57
您正在挣扎,因为很难将不同人员为不同目的构建的包组合起来,并使您的环境设置正确。我认为最好使用MSYS2,这是一个适用于Windows的环境,它为gcc、go、libxml2和iconv提供了一套一致的软件包。MSYS2有一个软件包管理器(pacman),它可以帮助您轻松地安装和更新它们。
我不常使用Go进行编程,但我熟悉MSYS2,而且似乎能够使用MSYS2安装gokogiri。您应该从Start菜单(mingw64_shell.bat)打开MSYS2 2的"MinGW-w64 Win64 Shell“,并尝试运行以下命令:
pacman -S mingw-w64-x86_64-{gcc,go,libxml2,iconv}
export GOROOT=/mingw64/
export GOPATH=/c/Users/David/Documents/goproj/
mkdir -p $GOPATH
go get github.com/moovweb/gokogiri我认为GOPATH应该设置为您项目的目录。如果您遇到错误,可能是因为需要一些pacman包,而我在这里没有列出。
Bash将字符串mingw-w64-x86_64-{gcc,go,libxml2,iconv}展开为以下包列表:
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年的#msys2irc聊天中说了这一点:
我们很长一段时间都不造了。此包处于非常WIP状态,请参见https://github.com/Alexpux/MINGW-packages/issues/421。
因此,您可能需要修复MSYS2 Go包中的一些问题,并亲自重新编译它,以使其真正发挥作用。但是你有用来构建它的PKGBUILD脚本,所以这可能比你现在想要做的要少一些,这涉及到编译/收集每个gokogiri的依赖项。
MSYS2会使您的go、libxml2和iconv的其他安装过时。一旦MSYS2环境开始工作,您就可以删除这些内容。
发布于 2015-05-15 10:42:39
如果您使用的是visual,并且希望将依赖项添加到您的项目中,那么只需使用NuGet包管理器安装它,这是最简单的方法。安装命令: Install-Package libxml2
https://stackoverflow.com/questions/29901728
复制相似问题