我和这个问题有同样的问题
当我打开任何.Rnw文件时,R Studio说我没有安装TeX发行版:我使用的是Ubuntu14.04w/ Gnome和TeXLive 2014。
我将行PATH=/usr/local/texlive/2014/bin:${PATH}包含在Renviron.site文件中,该文件现在看起来如下:
## 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?
发布于 2015-06-19 04:08:12
如果有人面临同样的问题,我打开R并使用
> 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路径,我必须在我的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=":"))现在它工作得很好
编辑:上面的解决方案只适用于打开的会话,而且只是临时的,每次打开新会话时都必须运行代码。我还在试图找到一个永久的解决方案
发布于 2017-09-30 18:02:39
请参阅此页面:定制启动,修改此文件/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系统之后,这是有意义的。^_^
我希望我糟糕的英语表达得足够清楚。
https://stackoverflow.com/questions/30601171
复制相似问题