2

我的操作系统是debian6,编译安装R后有一个libR.pc

root@debian:/home/tiger# cat /home/tiger/R-2.15.1/lib/pkgconfig/libR.pc  
rhome=/home/tiger/R-2.15.1/lib/R  
rlibdir=${rhome}/lib  
rincludedir=/home/tiger/R-2.15.1/lib/R/include  
Name: libR  
Description: R as a library  
Version: 2.15.1  
Libs: -L${rlibdir} -lR  
Cflags: -I${rincludedir} -I${rincludedir}  
Libs.private:  

在 /etc/profile 中设置 R 环境时:
R_HOME= /home/tiger/R-2.15.1

R_HOME= /home/tiger/R-2.15.1/lib/R
我将选择在 /etc/ 中写入哪一行轮廓?

4

2 回答 2

1

在 Debian(或衍生产品,如 Ubuntu 系统)上,您必须/etc/R/设置 R 使用的变量:

edd@max:~$ ls -l /etc/R/
total 28
-rw-r--r-- 1 root root  602 Jun 17 20:29 ldpaths
-rw-r--r-- 1 root root 5461 Jun 17 20:29 Makeconf
-rw-r--r-- 1 root root 1868 Mar 31 13:50 Renviron
-rw-r--r-- 1 root root  608 Sep 25  2009 Renviron.site
-rw-r--r-- 1 root root 1159 Mar 31 08:03 repositories
-rw-r--r-- 1 root root  792 Oct 28  2009 Rprofile.site
edd@max:~$ 

并且其中的文件R_HOME/etc/应该是软链接——至少如果您使用预构建的二进制文件。如果您构建自己的二进制文件,那是您的问题。

您引用的文件安装/usr/lib/pkgconfig/libR.pc在 Debian / Ubuntu 系统上。不需要设置R_HOME,因为会找到自己的值(请参阅@flodel 的答案)。R

于 2012-07-29T05:09:12.080 回答
0

在我的系统上:

cat $R_HOME

什么都不提供,但在 R 会话中,我得到:

> Sys.getenv("R_HOME")
[1] "/usr/lib/R"

这应该告诉你两件事:

  1. R_HOME是在 R 的启动时设置的,所以除非你确切地知道你在做什么,否则你可能不需要在你的/etc/profile.
  2. 您可以使用它Sys.getenv来找出您的R_HOME.
于 2012-07-29T02:15:08.073 回答