2

私は RMarkdown で論文を書いていますが、再現性を高めるために、必要なすべてのソフトウェアを特異点コンテナーにコンテナー化したいと考えています。残念ながら、TinyTeX をインストールしようとすると (これは Rmarkdown に推奨されており、コンテナを必要以上に膨張させないために TeXLive よりも好みます)、次のエラー メッセージが表示されて失敗します (完全なビルド ログはここに貼り付けられます)。

Can't locate TeXLive/TLConfig.pm in @INC (you may need to install the TeXLive::TLConfig module) (@INC contains: /~/.TinyTeX/texmf-dist/scripts/texlive /~/.TinyTeX/tlpkg /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.26.1 /usr/local/share/perl/5.26.1 /usr/lib/x86_64-linux-gnu/perl5/5.26 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.26 /usr/share/perl/5.26 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at ~/.TinyTeX/bin/x86_64-linux/tlmgr line 100.
BEGIN failed--compilation aborted at ~/.TinyTeX/bin/x86_64-linux/tlmgr line 100.

これはビルド定義ファイルです。基本的には、非常にスリム化された ubuntu 18.04 を使用し、%post セクションを実行してソフトウェアをインストールします。

BootStrap: library
From: ubuntu:18.04

%post
  # Add universe repository
  echo "deb http://us.archive.ubuntu.com/ubuntu bionic universe" >> /etc/apt/sources.list
  apt -y update
  # Install utilites
  apt install -y wget
  # Install R
  apt install -y r-base-core
  ## Install RMarkdown and TinyTeX
  R --slave -e 'install.packages(c("rmarkdown","tinytex")); tinytex::install_tinytex()'

  # Clean
  apt-get clean

%environment
  export LC_ALL="en_US.UTF-8"

%labels
  Author DP

私も試してみtinytex::install_tinytex(dir="/opt/tinytex")ましたが、何も変わらないようです。誰が何が悪いのか考えていますか?

4

2 に答える 2

0

イメージがドキュメント生成のためだけのものである場合、潜在的に有用な代替手段は、rmarkdown と tex (例: https://hub.docker.com/r/rocker/verse ) を含む docker イメージを特異点イメージに変換することです。

を使用singularity pull docker://rocker/verseすると、最新バージョンに対して、または特定のバージョンに対してverse:version_number.

于 2019-08-13T14:49:40.260 に答える