首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不要使用R系统库

不要使用R系统库
EN

Stack Overflow用户
提问于 2019-03-01 22:34:23
回答 2查看 1.1K关注 0票数 0

我正在尝试使用安装了R的linux服务器。显然,R系统库安装了非基础软件包的旧版本,如dplyr和testthat。因为我没有编辑系统库的权限,所以我无法更新包。

我的计划是只使用一个用户库,这样我就可以自己控制包的版本。但是,我无法从.libPaths()中删除"/usr/lib64/R/library"文件夹。我尝试将环境变量R_LIBS_SITER_LIBS.Renviron.Rprofile文件一起更改到另一个文件夹,但/usr/lib64/R/library文件夹始终存在。使用命令.libPaths(.libPaths()[1:2])删除它也不起作用。

有没有办法从.libPaths()中删除系统库,这样我就不需要依赖服务器管理员的更新策略了?

EN

回答 2

Stack Overflow用户

发布于 2019-03-01 23:43:39

您不能删除系统库,因为这是基包所在的位置。它们不能安装在其他地方,没有它们R就不能工作。

最好是让您的系统管理员更新系统库。这些过时的包可能包含错误。

如果您不能做到这一点,那么运行update.packages(instlib = "local")来安装"local"库中的所有最新版本。(当然,请替换您自己的本地lib名称。)这要求所有用户在启动时指定.libPaths("local"),有些用户可能会忘记,所以它不是很好。

对您来说,最简单的方法是在自己的帐户中安装R的完整副本。然后你就可以控制一切了,任何人使用你的副本都会得到你的库。

(10天后会有一个新的版本(3.5.3);您可以等待,或者安装betas或RCs之一,现在应该可以使用,然后在最终版本到来时再次更新。)

票数 2
EN

Stack Overflow用户

发布于 2019-03-01 22:42:09

对我来说,它可以使用

代码语言:javascript
复制
 .libPaths(.libPaths()[2:1])

这将仍然搜索系统库,但仅在搜索我的个人库之后,所以如果我有一个较新的版本,它将使用该库。注意:我使用的是.libPaths()[2:1],而不是.libPaths()[1:2]

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54946732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档