.libPaths() 渲染 .qmd 时顺序发生变化

问题描述 投票:0回答:1

我尝试渲染一个 qmd,其中使用了我手动更新的包,该包也是由已安装的 R 映像提供的。

在我的 R 设置中,包位于 3 个不同的目录中。一种带有基础 R,一种带有 R 映像中包含的软件包,一种带有手动安装的软件包。当手动安装 R 映像中提供的较新版本的软件包时,加载它们通常会导致加载手动安装,因为相应的目录是

.libPaths()
中的第一个条目。然而,在渲染 qmd 时,库搜索路径顺序似乎混淆了,我最终得到了 R 图像中较旧的包版本,因为它们是最先找到的。

重现:

  1. 您需要类似的设置,其中最新版本的

    readr
    位于
    .libPaths()
    列出的第一个目录中,旧版本的
    readr
    位于搜索顺序较低的库路径中。

  2. 在 qmd 文件中运行以下代码,然后渲染它。

---
title: "library_paths_example"
format: html
editor: visual
---

```{r}
packageVersion("readr")
.libPaths()
```

您应该看到 qmd 内的输出和渲染的 html 中的顺序和包版本不同。我不确定是什么导致库搜索路径重新排序,但我想如果它不能立即工作,您可能需要尝试一下路径目录命名。

r
1个回答
0
投票

作为解决方法,可以在调用

library()
时通过设置参数
lib.loc = path
来传递库路径,即
library(readr, lib.loc = path)

© www.soinside.com 2019 - 2024. All rights reserved.