r - 小升级后从 R 路径中删除本地库路径

标签 r linux

<分区>

我在 ~/R/x86_64-pc-linux-gnu-library/3.4/ 中安装了很多包。今天,我打开 R,并尝试运行一些代码,我发现无法识别包:

Error in library("some_package"): there is no package called ‘some_package’

我查看了路径,得到了这个:

.libPaths() 
[1] "/usr/local/lib/R/site-library" "/usr/lib/R/site-library" "/usr/lib/R/library"  

这解释了为什么包不再被识别。现在,我知道如何解决这个问题(将本地路径添加到 R 路径,例如修改 /etc/R/Renviron)。

请注意,我通过 sudo apt-get update... 更新了 R。但是,更新很小(从 3.4 到 3.4.1)(因此这不是 this question 的副本)。 Here是更新/升级的命令行输出。看来问题可能与 /etc/R/Renviron 的更新有关,如行 Replacing config file/etc/R/Renviron with new version 所示。

我的包源是

deb https://cloud.r-project.org/bin/linux/ubuntu xenial/

我的问题是,为什么会发生这种变化?R 中的每一个次要变化都会将路径恢复为默认值吗?它在某些文档中有解释吗?我找不到关于它的警告 here或其他地方。

最佳答案

它与 3.4.1 的新(?)默认行为有关,即使 Linux 系统上的所有用户都可以使用相同的 R 包库。请参阅此处以获得简洁的解决方案:https://stackoverflow.com/a/44903158/4115816

(该线程还描述了一些其他选项。)

关于r - 小升级后从 R 路径中删除本地库路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44922901/

相关文章:

r - 使用 'testthat' 测试包导出

arrays - 如何在 Linux shell 中从文件中的二维数组中选择一个元素

linux - 并行运行 sed

linux - 在 HDFS 上存储文件的命令

r - 从日期列创建假期的指示变量

r - 在R中的for循环内运行函数时中断for循环

r - 追加到 R 中列表的多个元素

c - 我应该将哪个文件作为 ftok() 的路径名参数传递

linux - 使 linux 二进制可移植(ELF Statifier)

r - 通过标题和图表循环knitr