Install/update 通过同一个包中的函数进行包

Install/update package through a function in that very same package

我意识到我可能做了一些愚蠢的事情...我创建了自己的包并将其放入 Google 驱动器。

我在那个包 update_my_package 中写了一个函数,它从 Google 驱动器下载 tar.gz 文件,然后尝试 install/update 使用 [=13] 这个包=].

然而,这似乎不起作用,因为当运行更新功能时,该包显然当前正在使用。

Warning: package ‘my_package’ is in use and will not be installed

我在这里找到了这个:,但我认为它不起作用,因为我可能无法从该包中的函数中分离包。

所以我能做的任何事情还是我的方法行不通?

有趣的是,installing/updating一个包通过那个包的一个函数毕竟是可能的。 “技巧”是在安装更新之前首先分离软件包,例如

update_fun <- function()
{
  detach(package:my_package, unload = TRUE)
  remotes::install_local("my_package")
}