为什么两个不同的用户在Linux中看到不同的R包位置?

时间:2014-03-21 14:14:16

标签: linux r package

我有两个不同的Linux(Ubuntu)用户azgdeploy,第一个是我的个人用户名,第二个是部署已发布软件的全球用户。我在用户azg下开发并最终安装我在R实现中使用的R包。

我遇到的问题是,用户deploy没有看到azg看到的相同软件包。检查安装位置我看到完全不同的结果。用户deploy获取:

> .libPaths()
[1] "/usr/local/lib/R/site-library" "/usr/lib/R/site-library"      
[3] "/usr/lib/R/library"           
> 

和用户azg获取:

> .libPaths()
[1] "/home/azg/R/x86_64-pc-linux-gnu-library/3.0"
[2] "/usr/local/lib/R/site-library"              
[3] "/usr/lib/R/site-library"                    
[4] "/usr/lib/R/library" 

最终结果是我发布的软件由于缺少库而无法正常工作。有没有办法在系统范围内的所有包中?单独的问题是为什么site-library位置在一行中出现在一行中而在另一行中以不同的行出现?这真的很重要吗?

1 个答案:

答案 0 :(得分:1)

一个简单的方法(特别是在Ubuntu上有更小的方法)就是使用与更小的一起提供的示例脚本'install.r'。

默认安装/usr/local/lib/R/site-library

使用补丁我们进入R本身,组写权限现在由(由R)创建的目录“继承”,所以如果你让你的用户成员拥有该目录,你就被设置了。 / p>

是的,这就是我们在多个用户通过RStudio共享服务器的工作中所做的事情:)