今天遇到的问题:
使用 BiocManager::install("edegR")
安装 edgeR
的时候, 提示一堆包需要更新, 但是更新进程显示无权限. 查看 .libPath()
可以看到出了自己的 "/home/tenney/R/x86_64-redhat-linux-gnu-library/4.1"
以外还有两个包库也可以作为来源, 且不可取消.
r$> .libPaths()
[1] "/home/tenney/R/x86_64-redhat-linux-gnu-library/4.1" "/usr/lib64/R/library"
[3] "/usr/share/R/library"
因此为以后考虑, 将 /usr/lib64/R/library
下的个人R包放到了私人目录.
/usr/lib64/R/library
设置权限为755.
那么, 如果想以团队协作为目的, 可否构建一个一次性R项目呢?
将 /usr/lib64/R/library
下的个人R包放到了私人目录.
/usr/lib64/R/library
设置权限为755, 禁止普通用户写入.
新建共用包库, 权限设置为 777
, 使所有人可将该目录添加为包库.
$ chmod 777 -R Rlib
$ ll | grep Rlib
drwxrwxrwx 3 root root 45 3月 26 19:38 Rlib
$ ll Rlib
total 0
drwxrwxrwx 3 root root 17 3月 26 19:38 x86_64-redhat-linux-gnu-library
新建一批测试帐号
# create and edit
touch createuser.sh
vim createuser.sh
# run
chmod u+x createuser.sh
bash ./createuser.sh
for i in {1..10}
do
username=gsegroup_$i;
echo $username;
if [ -n $username ]
then
sudo useradd -d /home/$username -s /bin/bash -m $username
echo $username:$username | sudo chpasswd
echo "user $username added!"
else
echo "the username is null!"
fi
done
进入一个新账户的rstudio-servers:
依次选择上传项目文件.
将自动进行解压, 进入解压文件夹点击Rproj文件.
使用 .libPaths(c(.libPaths(), "/home/Rlib/x86_64-redhat-linux-gnu-library/4.1"))
指定项目使用包库.
长期使用自然是单人单库最好, 但是团队项目如果想要节约时间精力, 那么做一些批量行为也未尝不可.
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有