问题

我想卸载一个包,而不必重新启动R(主要是因为重新启动R,因为我尝试不同的,冲突的包变得令人沮丧,但可以想象这可以在程序中使用一个函数,然后另一个 - - 虽然命名空间引用可能是一个更好的主意,使用).

?library 没有显示任何卸载软件包的选项.

有一个建议 detach 可以卸载软件包,但以下都会失败:

detach(vegan)

Error in detach(vegan) : invalid name argument

detach("vegan")

Error in detach("vegan") : invalid name argument

那么如何卸载包装?



解决方法

尝试此操作:

detach("package:vegan", unload=TRUE)

可以同时加载多个版本的软件包(例如,如果您有不同版本的开发版本和稳定版本).要分离保证所有副本都已分离,请使用此功能.

detach_package <- function(pkg, character.only = FALSE)
{
  if(!character.only)
  {
    pkg <- deparse(substitute(pkg))
  }
  search_item <- paste("package", pkg, sep = ":")
  while(search_item %in% search())
  {
    detach(search_item, unload = TRUE, character.only = TRUE)
  }
}

使用是,例如

detach_package(vegan)

detach_package("vegan", TRUE)



相关问题推荐