Mir wurde klar, dass ich wahrscheinlich etwas Dummes getan hatte... Ich erstellte mein eigenes Paket und legte es in ein Google-Laufwerk.
Ich habe eine Funktion in dieses Paket geschrieben, update_my_package
die die tar.gz-Datei von Google Drive herunterlädt und dann versucht, dieses Paket mit zu installieren/aktualisieren remotes::install_local()
.
Dies scheint jedoch nicht zu funktionieren, da das Paket offensichtlich gerade verwendet wird, wenn die Update-Funktion ausgeführt wird.
Warning: package 'my_package' is in use and will not be installed
Ich habe dieses hier gefunden: https://stackoverflow.com/a/35723153/2725773, aber ich denke, es wird nicht funktionieren, weil ich wahrscheinlich ein Paket nicht von einer Funktion innerhalb dieses Pakets trennen kann.
Also alles, was ich tun kann, oder wird mein Weg einfach nicht funktionieren?
Lösung des Problems
Interessanterweise ist es doch möglich, ein Paket über eine Funktion dieses Pakets zu installieren/aktualisieren. Der "Trick" bestand darin, das Paket zuerst zu trennen, bevor Sie das Update installieren, z
update_fun <- function()
{
detach(package:my_package, unload = TRUE)
remotes::install_local("my_package")
}
Keine Kommentare:
Kommentar veröffentlichen