docker安装overleaf并升级texlive

docker安装overleaf并升级texlive20230321。

20230321

0. 引言

之前在虚拟机安装了overleaf,应该是两年前的事情了,本来是想尝试一下overleaf更新了什么功能,但是没想到浪费了这么多时间。当时安装的还是2.5的版本,现在已经是3.5了。

在这个过程中,有几个地方需要注意:

  • docker的拉取镜像的代理
  • 容器内部的代理
  • texlive版本问题

代理问题是为了在安装镜像或者包的时候能够快一点;版本问题是因为默认安装的是最小版本,而使用tlmgr去安装包,直接报错无法安装,因为版本不一致。所以这个过程也是浪费了非常多的时间。

1. 安装过程

1.1 安装镜像

首先要做的就是安装三个镜像,sharelate、redis、mongo。overleaf提供了一个toolkit工具,也可以直接使用;不过我还是乐意直接就使用docker-compose来进行安装。

curl -O https://raw.githubusercontent.com/sharelatex/sharelatex/master/docker-compose.yml 

在安装镜像的时候,要看一下怎么来配置docker拉取镜像的代理;这种命令在网上一大堆,这里不在赘述。

1.2 更新texlive版本

由于sharelatex他提供的tex版本非常精简,那么需要安装包的时候,需要使用tlmgr,他的toolkit也说明了这个事情,但是关键问题在于,使用tlmgr的时候,他会报错说版本不一致,例如现在是2023年,实际上镜像里面tex还是2022的版本,但是tlmgr那边已经说到2023了。。所以只能更新。

按照提示来到了网站[1],但是他会告诉你不如直接安装。。然后又来到了[2],可以按照他的介绍来进行安装。注意,这里安装的时候,一定要设置终端的代理,这个代理,相比于docker的就比较容易,直接export环境变量即可。虽然可以使用国内镜像源,但是简单看了两个个。。都没有文档;还是踏踏实实先按照官网说法来执行。

这里我使用的方法是,在perl ./install-tl --no-interaction命令后面加上了--scheme=small,毕竟完整安装太慢了,当然挂上代理其实也还好。如果速度开,直接全安装也还好。

1.3 替换命令

这个时候,在sharelatex镜像中,/usr/local/texlive/中可以看到两个两个版本,一个是2023,一个是2022,可以直接把2022删除。但是这个时候/usr/local/bin里面的命令链接全都失效了[3]。

此时需要把这些新命令都全部链接到新的文件,进入到新版本的bin/xxx/中,xxx是下载的架构;然后执行./tlmgr path add。链接都生效了。

1.4 安装库

但是这个时候,进入sharelatex执行,却发现根本编译不了,只说报错了。
这个时候比较尴尬,比原来仅仅说缺失包还恶心。

这个时候只能去镜像里面查看,/var/log/sharelatex里面可以看,然后发现是命令latexmk失效,这个缺失可以在/usr/local/bin里面看到,安装这个只需要执行tlmgr install latexmk即可。

此时在sharelatex的网页新建一些简单的文档是可以编译的。还是一些比较复杂的文档就不行了,那么就需要安装一些库。

他的报错信息例如:makecell.sty找不到,那就是库不存在,此时一般来说,进入到镜像里面然后安装tlmgr install xxx即可,但是也有一些不行,例如authblk,在ctan官网查找包,可以看到其实这个命令是在preprint包里面的,所以直接安装preprint即可。

但是说实话,缺的包多了之后,属实顶不住。所以想图方便的话,还是把前面安装的时候那个small给去掉。

参考

[1]Upgrade from TeX Live 2022 to 2023
[2]TeX Live – Quick install for Unix
[3]After a completed TeX Live installation on Linux: how can I run just the “Create symlinks to standard directories” option?

今天的文章docker安装overleaf并升级texlive分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/26646.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注