什么决定了将哪些依赖包加载到工作空间中



在我编写的包中,在描述文件中,以下是一些导入:

Imports: jsonlite,
    tibble,
    shiny,
    ggplot2,
    plotly (>= 4.5.6.9000),
    dplyr,
    purrr,
    lubridate

但是当我像这样加载我的包时:

devtools::load_all()

上面只有其中一些包会附加到工作区。例如,附有 dplyr,但情节上没有。

什么决定了当加载"my_package"时,描述文件的"import"语句中的哪些包加载到工作区

"加载"和"附加"之间是有区别的。 加载意味着包在内存中,因此包中的函数可以调用其中的函数。 附加意味着它在搜索列表中,因此用户可以调用其中的函数。

如果附加了包,则还必须加载它,但可以加载包而不显示在搜索列表中。

如果您使用双冒号表示法,例如 purrr::map ,则 R 将检查是否已加载purrr,如果没有,则加载它,但它不会将其添加到搜索列表中。 第二次进行这样的调用时不需要加载它,因为包通常在加载一次后保持加载状态。

最新更新