Ubuntu 16.4下monodoc无法运行,缺失libgluezilla如何解决?
嘿,我完全懂你在Ubuntu 16.04上遇到的这个Monodoc难题——libgluezilla确实已经从官方源里消失了,而且换浏览器引擎也没起效,还不想碰有安全风险的旧deb包,这确实挺闹心的。下面给你几个靠谱的替代方案:
直接用Mono在线API文档替代本地Monodoc
既然本地的Monodoc因为依赖卡壳,不如直接转向Mono官方的在线API文档。所有API的细节和本地版完全一致,不用折腾任何依赖,搜类、查方法都很方便,还能随时获取最新的文档内容,体验和本地浏览器没差多少。考虑升级Ubuntu系统(如果环境允许)
Ubuntu 16.04早就停止官方支持了,不光是Monodoc,很多软件的依赖都会陆续出问题。如果你的工作环境允许升级到Ubuntu 18.04及以上版本,新版的Mono和Monodoc已经调整了依赖结构,不再需要libgluezilla,Monodoc能正常运行,Monodevelop的F1唤起API浏览器的功能也能恢复,同时系统的安全性也能得到保障。手动编译Monodoc并调整依赖配置(适合有一定技术基础)
要是你必须留在Ubuntu 16.04,可以试试从Mono源码编译Monodoc,编译时指定用WebKit2作为默认引擎,跳过对libgluezilla的依赖。步骤大概是这样:- 先安装编译所需的依赖:
sudo apt-get install git autoconf automake libtool pkg-config libwebkit2gtk-4.0-dev - 克隆Mono的源码仓库:
git clone https://github.com/mono/mono.git - 进入Monodoc相关的源码目录,运行配置脚本并指定引擎:
./configure --with-browser-engine=webkit2 - 最后编译并安装:
make && sudo make install
不过这个过程可能会遇到一些小的编译依赖问题,需要你耐心排查调整。
- 先安装编译所需的依赖:
用第三方文档工具替代
如果以上方法都觉得麻烦,也可以试试其他支持.NET/Mono的文档工具,比如DocFX——你可以用它生成本地的API文档,或者直接用VS Code的相关插件来查看API。虽然和Monodoc的集成度不一样,但也能满足日常查看API的需求。
另外,关于Monodevelop里F1无法唤起API浏览器的问题,其实和Monodoc的依赖问题是绑定的。等你解决了Monodoc的运行问题,或者改用在线文档后,可以去Monodevelop的设置里调整文档路径,把默认的本地Monodoc路径改成在线文档的地址,这样按下F1时就能直接跳转到对应的在线API页面了。
内容的提问来源于stack exchange,提问作者AtomicFlounder

