GOOGLE ADS

Montag, 18. April 2022

Installieren/aktualisieren Sie das Paket über eine Funktion in genau demselben Paket

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_packagedie 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

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...