我想将ggplot2
库用于安装在自定义lib
文件夹即~/.r
中的R。通过命令
> install.packages("ggplot2", lib="~/.r")
输出表明安装成功。但是,加载库似乎无法正常工作:
> library(ggplot2, lib="~/.r")
Error: package or namespace load failed for ‘ggplot2’:
.onLoad failed in loadNamespace() for 'pillar', details:
call: loadNamespace(name)
error: there is no package called ‘crayon’
似乎安装了库crayon
,因为目录~/.r/crayon
中有文件。即使尝试使用以下命令重新安装该库也无济于事
> remove.packages("crayon", lib="~/.r")
> install.packages("crayon", lib="~/.r")
在没有lib
参数的情况下安装时,我可以使用个人库,但这会安装到~/R
上,这是我所不希望的。
> install.packages("ggplot2")
...
> library(ggplot2)
为什么install.package
的{{1}}和library
命令不能按预期工作?我如何才能对R库使用常规的lib="~/.r"
自定义路径,更具体地说,如何使用lib
?
答案 0 :(得分:2)
根据article linked by duckmayr改编而成,以下解决方案对我有效:
> dir.create("~/.r/library", recursive = TRUE)
> cat("R_LIBS=~/.r/library", file = "~/.Renviron", append = TRUE)
然后,在重新加载后,它指示新的lib
路径按预期工作:
> .libPaths()
> [1] "/home/user/.r/library" "/usr/lib/R/library"
因此,以下命令现在在隐藏文件夹ggplot2
中永久安装~/.r
,并成功加载了库:
> install.packages("ggplot2")
...
> library(ggplot2)