我该如何确定在OS X上安装了哪个版本的libxml2和libxslt?

17
我正在尝试查找当前已安装的版本。OS X Mountain Lion (10.8.2)
提前致谢!
4个回答

26

另一个选项是在--version标志下运行xmllintxsltproc

$ xmllint --version
xmllint: using libxml version 20900
   compiled with: Threads Tree Output Push Reader Patterns Writer SAXv1 FTP HTTP DTDValid HTML Legacy C14N Catalog XPath XPointer XInclude ISO8859X Unicode Regexps Automata Expr Schemas Schematron Modules Debug Zlib
$ xsltproc --version
Using libxml 20900, libxslt 10128 and libexslt 817
xsltproc was compiled against libxml 20900, libxslt 10128 and libexslt 817
libxslt 10128 was compiled against libxml 20900
libexslt 817 was compiled against libxml 20900

这意味着我正在运行libxml2 2.9.0,libxslt 1.1.28和libexslt 0.8.17。


xmllint --version 在 Ubuntu Linux 上也可以运行。 - Wayne

13

不是完整的答案,真实的版本号可以在/usr/include/libxml2/libxml目录下找到xmlversion.h文件中查看:

Mac-mini-de-Vincent:libxml Vincent$ grep -Ri "LIBXML_DOTTED_VERSION" xmlversion.h
xmlversion.h:#define LIBXML_DOTTED_VERSION "2.9.0"

在我的系统(10.9.1)上,libxml2版本为2.9.0。


嗨文森特,如果我没有xmlversion.h文件怎么办?我尝试使用"find /usr -name xmlversion.h"命令进行查找,但没有返回任何结果。谢谢 - rockhammer
@rockhammer,你需要安装libxml2-devel软件包。 - Lucas
@rockhammer 如果您在 Mac 上使用 Xcode,则尝试执行 find /Applications/Xcode.app -name xmlversion.h 命令。它将会在其中一个嵌入式 SDK 中被找到。 - Kristopher Johnson

9
在我的10.8.3系统上,它是2.2:
> ls -l /usr/lib/libxml*
-rwxr-xr-x  1 root  wheel  2390032 Mar  2 17:18 /usr/lib/libxml2.2.dylib*
lrwxr-xr-x  1 root  wheel       15 Mar  2 17:21 /usr/lib/libxml2.dylib@ -> libxml2.2.dylib

很简单。谢谢!我之前考虑的是像man页面或-v / --versions那样,但这种方式也有道理。 - Spanky
我相信这意味着它是lbxml2版本2.x。不是很有用。 - Max
它是libxml 2.2版本。 - paulmelnikow

2
在10.8.5版本中:
$ /usr/bin/xmllint --version
/usr/bin/xmllint: using libxml version 20708
   compiled with: Threads Tree Output Push Reader Patterns Writer SAXv1 FTP HTTP DTDValid
HTML Legacy C14N Catalog XPath XPointer XInclude ISO8859X Unicode Regexps Automata Expr
Schemas Schematron Modules Debug Zlib 

$ /usr/bin/xsltproc --version
Using libxml 20708, libxslt 10126 and libexslt 815
xsltproc was compiled against libxml 20708, libxslt 10126 and libexslt 815
libxslt 10126 was compiled against libxml 20708
libexslt 815 was compiled against livxml 20708

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接