在Ubuntu/Debian 上的 R-upgrade 过程中,用户安装的 R 包会发生什么?
在授予用户文件夹的写入权限后,软件包将安装在/usr/lib/R/和/usr/local/lib/R 下的库中。
我使用 cran 镜像进行升级,但我不确定用户安装的软件包是否已转移到新版本的 R,或者我是否必须重新安装它们。
愿你安好!
默认情况下,/usr/lib/R/library
和/usr/lib/R/site-library
不应该是用户可写的。这些是包管理系统拥有的目录,您可以像往常一样在那里获得更新的包。
通过我们的设置,/usr/local/lib/R/site-library
可以由公共组中的用户(例如staff
)进行用户可写。 这是在r-base-core
包的相应postinst
脚本中设置的:
chown root:staff /usr/local/lib/R/site-library
chmod 2775 /usr/local/lib/R/site-library
这个想法是几个用户可以照顾这些包,它们通常只是在更新后工作---我们中的许多人已经成功地使用这个方案多年了。
现在,R 3.4.0有一个小问题,在其NEWS文件中指出
- 为 注册本机例程的包。C 或 .Fortran 需要为此版本重新安装(除非使用 R-devel SVN 安装) 修订版 R72375 或更高版本)。
这是一次性的,特别是R 3.4.0。事实上,我已经在/usr/local/lib/R/site-library
目录树中重新安装了其中一些软件包。