我有两个不同的Linux(Ubuntu)用户azg
和deploy
,第一个是我的个人用户名,第二个是部署已发布软件的全球用户。我在用户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
位置在一行中出现在一行中而在另一行中以不同的行出现?这真的很重要吗?
答案 0 :(得分:1)
一个简单的方法(特别是在Ubuntu上有更小的方法)就是使用与更小的一起提供的示例脚本'install.r'。
默认安装/usr/local/lib/R/site-library
。
使用补丁我们进入R本身,组写权限现在由(由R)创建的目录“继承”,所以如果你让你的用户成员拥有该目录,你就被设置了。 / p>
是的,这就是我们在多个用户通过RStudio共享服务器的工作中所做的事情:)