【问题标题】:How to install ggplot2 for R to a custom lib directory如何将 ggplot2 for R 安装到自定义 lib 目录
【发布时间】:2019-03-28 18:22:58
【问题描述】:

我想使用安装在自定义lib 文件夹中的ggplot2 库,即~/.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)

为什么带有lib="~/.r"install.packagelibrary 命令不能按预期工作?如何将自定义 lib 路径用于一般的 R 库和更具体的 ggplot2

【问题讨论】:

  • library(crayon, lib="~/.r") 有效吗?我猜你只需要使用.libPaths("~/.r"),或者如果你想要一个更持久的解决方案(即,不仅仅是这个R会话),可以看看this page。作为旁注,通常是“为什么 [X] 不能正常工作?”不是正确的问题;通常是“为什么 [X] 没有按我的预期工作?”
  • 是的,这行得通。您提供的链接看起来不错,并且似乎有效。我去看看。我编辑了问题,感谢您的提示。
  • 谢谢,duckmayr。我调整了命令以适应问题并自己回答。

标签: r ggplot2 installation package


【解决方案1】:

改编自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"  

因此,以下命令现在在隐藏文件夹 ~/.r 中永久安装 ggplot2 并成功加载库:

> install.packages("ggplot2")
...
> library(ggplot2)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-10
    • 1970-01-01
    相关资源
    最近更新 更多