使用Rstudio-server安装包时,发现报错
> install.packages('BiocManager')Installing package into ‘/home/qmh/R/x86_64-pc-linux-gnu-library/4.0’
(as ‘lib’ is unspecified)Warning in install.packages :
'lib = "/home/qmh/R/x86_64-pc-linux-gnu-library/4.0"' is not writable
Would you like to use a personal library instead? (yes/No/cancel)
请示大佬,大佬考虑从root账号复制R包时,直接用root账号复制了文件夹,导致没有权限。
终端下查看如下:
zlzx@zlzx-PowerEdge-T640:/home/qmh$ cd R
zlzx@zlzx-PowerEdge-T640:/home/qmh/R$ l
x86_64-pc-linux-gnu-library/
zlzx@zlzx-PowerEdge-T640:/home/qmh/R$ cd x86_64-pc-linux-gnu-library
zlzx@zlzx-PowerEdge-T640:/home/qmh/R/x86_64-pc-linux-gnu-library$ ls -l
总用量 8
drwxr-xr-x 169 root root 4096 5月 16 23:03 4.0
drwxr-xr-x 131 qmh qmh 4096 5月 14 16:35 4.2
显示4.0文件夹的所有者、用户组均为root账号。
遂更改如下:
zlzx@zlzx-PowerEdge-T640:/home/qmh/R/x86_64-pc-linux-gnu-library$ sudo chown qmh 4.0
zlzx@zlzx-PowerEdge-T640:/home/qmh/R/x86_64-pc-linux-gnu-library$ ls -l
总用量 8
drwxr-xr-x 169 qmh root 4096 5月 16 23:03 4.0
drwxr-xr-x 131 qmh qmh 4096 5月 14 16:35 4.2
**##此处没有更改用户组,于是重新更改。chown格式为 chown <选项> <新所有者>:<新所属组> <文件名或文件夹名>**
zlzx@zlzx-PowerEdge-T640:/home/qmh/R/x86_64-pc-linux-gnu-library$ sudo chown qmh:qmh 4.0
zlzx@zlzx-PowerEdge-T640:/home/qmh/R/x86_64-pc-linux-gnu-library$ ls -l
总用量 8
drwxr-xr-x 169 qmh qmh 4096 5月 16 23:03 4.0
drwxr-xr-x 131 qmh qmh 4096 5月 14 16:35 4.2
zlzx@zlzx-PowerEdge-T640:/home/qmh/R/x86_64-pc-linux-gnu-library$ ^C
zlzx@zlzx-PowerEdge-T640:/home/qmh/R/x86_64-pc-linux-gnu-library$
调整过后,在安装biocondunctor时依然报错:
成功将‘RcppArmadillo’程序包解包并MD5和检查mv: 无法将'/home/qmh/R/x86_64-pc-linux-gnu-library/4.0/RcppArmadillo'
移动至'/home/qmh/R/x86_64-pc-linux-gnu-library/4.0/00LOCK-RcppArmadillo/RcppArmadillo':
权限不够ERROR: cannot remove earlier installation, is it in use?
考虑是未用-R,没有应用到子文件夹、子文件原因。root账号下检查,果然如此:
zlzx@zlzx-PowerEdge-T640:/home/qmh/R/x86_64-pc-linux-gnu-library/4.0$ ls -l
总用量 668
drwxr-xr-x 6 root root 4096 5月 15 11:42 abind
drwxr-xr-x 7 root root 4096 5月 15 11:42 askpass
drwxr-xr-x 6 root root 4096 5月 15 11:42 assertthat
drwxr-xr-x 7 root root 4096 5月 15 11:42 backports
drwxr-xr-x 7 root root 4096 5月 15 11:42 base64enc
drwxr-xr-x 6 root root 4096 5月 15 11:41 BH
drwxr-xr-x 7 qmh qmh 4096 5月 16 23:30 BiocManager
drwxr-xr-x 5 root root 4096 5月 15 11:42 BiocVersion
drwxr-xr-x 7 root root 4096 5月 15 11:41 bitops
drwxr-xr-x 7 root root 4096 5月 15 11:42 broom
重新赋权,干脆把根目录下的R文件夹全部重新赋权了:
zlzx@zlzx-PowerEdge-T640:/home/qmh/R/x86_64-pc-linux-gnu-library/4.0$ ^C
zlzx@zlzx-PowerEdge-T640:/home/qmh/R/x86_64-pc-linux-gnu-library/4.0$ cd /home/qmh
zlzx@zlzx-PowerEdge-T640:/home/qmh$ sudo chown -R qmh:qmh R
最后检查一下:
zlzx@zlzx-PowerEdge-T640:/home/qmh$ cd /home/qmh/R/x86_64-pc-linux-gnu-library
zlzx@zlzx-PowerEdge-T640:/home/qmh/R/x86_64-pc-linux-gnu-library$ cd 4.0
zlzx@zlzx-PowerEdge-T640:/home/qmh/R/x86_64-pc-linux-gnu-library/4.0$ ls -l
总用量 668
drwxr-xr-x 6 qmh qmh 4096 5月 15 11:42 abind
drwxr-xr-x 7 qmh qmh 4096 5月 15 11:42 askpass
drwxr-xr-x 6 qmh qmh 4096 5月 15 11:42 assertthat
drwxr-xr-x 7 qmh qmh 4096 5月 15 11:42 backports
drwxr-xr-x 7 qmh qmh 4096 5月 15 11:42 base64enc
drwxr-xr-x 6 qmh qmh 4096 5月 15 11:41 BH
drwxr-xr-x 7 qmh qmh 4096 5月 16 23:30 BiocManager
drwxr-xr-x 5 qmh qmh 4096 5月 15 11:42 BiocVersion
drwxr-xr-x 7 qmh qmh 4096 5月 15 11:41 bitops
drwxr-xr-x 7 qmh qmh 4096 5月 15 11:42 broom
問題解決。