我遇到与this question相同的问题:
当我打开任何.Rnw文件时,R Studio表示我没有安装TeX Distribution:我使用Ubuntu 14.04 w / Gnome和TeXLive 2014。
我在Renviron.site文件中包含行PATH=/usr/local/texlive/2014/bin:${PATH}
,现在看起来像:
## Emacs please make this -*- R -*-
## empty Renviron.site for R on Debian
##
## Copyright (C) 2008 Dirk Eddelbuettel and GPL'ed
##
## see help(Startup) for documentation on ~/.Renviron and Renviron.site
# ## Example ~/.Renviron on Unix
# R_LIBS=~/R/library
# PAGER=/usr/local/bin/less
# ## Example .Renviron on Windows
# R_LIBS=C:/R/library
# MY_TCLTK="c:/Program Files/Tcl/bin"
# ## Example of setting R_DEFAULT_PACKAGES (from R CMD check)
# R_DEFAULT_PACKAGES='utils,grDevices,graphics,stats'
# # this loads the packages in the order given, so they appear on
# # the search path in reverse order.
PATH=/usr/local/texlive/2014/bin:${PATH}
然而问题仍然存在。我该如何解决这个问题并运行Sweave或knitR?
答案 0 :(得分:2)
如果有人遇到同样的问题,我打开R Studio并使用
检查pdflatex安装> Sys.which("pdflatex")
pdflatex
""
这表明它实际上是空的,所以我运行命令Sys.getenv("PATH")
来检查当前路径:
Sys.getenv("PATH")
[1] "/usr/local/texlive/2014/bin:/usr/local/texlive/2014/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
要添加我的pdflatex路径,我必须在texlive目录中找到pdflatex
文件,该文件是/usr/local/texlive/2014/bin/x86_64-linux
,然后我将其添加到我当前的路径中:
> Sys.setenv(PATH=paste(Sys.getenv("PATH"),"/usr/local/texlive/2014/bin/x86_64-linux",sep=":"))
现在它完美无缺
编辑:上述解决方案仅适用于打开的会话,并且只是临时的,您必须在每次打开新会话时运行代码。我还在努力找到一个永久的解决方案答案 1 :(得分:1)
请参阅此页:Customizing Startup,修改此文件/usr/lib/R/etc/Rprofile.site
,并将您的代码放入此文件中。它看起来像是一个永久的解决方案。
===
我看到这个文件/etc/environment
与Sys.getenv("PATH")
的输出相同,所以我认为sys.getenv(" PATH")读取文件/etc/environment
。
因此,更好的方法是修改此文件/etc/environment
,添加此代码:/usr/local/texlive/2017/bin/x86_64-linux
。
在我做完之后,我尝试了source /etc/envronment
并重新启动了Rstudio,但它没有用。
最后重启我的ubuntu系统后才有意义。 ^ _ ^
我希望我的英语表达能力不够清晰。