更新延迟加载的 R 包

update of a R package which is lazy loaded

我有几个 unix 服务器使用安装在共享 R 库文件夹中的 R 包。这些包是从此共享文件夹中延迟加载的(这是默认设置)。

现在我要更新包:

1) 是否可以(并且干净地)在不关闭所有 R 实例的情况下做到这一点?

2) 更准确地说,我担心以下问题:
2)a) 当我尝试安装已经加载的包时,我从用户界面收到的警告:
2)b) 来自 https://cran.r-project.org/doc/manuals/r-release/R-ints.html#Lazy-loading

When a package/namespace which uses it is loaded, the package/namespace environment is populated with promises for all the named objects: when these promises are evaluated they load the actual code from a database.

这是否意味着 R 实例将在对每个对象进行实际评估时再次从库文件夹中读取(在这种情况下,这意味着我需要停用延迟加载,或者在更新之前关闭所有 R 实例包)

3) 是否有另一种方法可以在服务器网络上维护 R 包,这些服务器始终是 运行 脚本,而不必将每个服务器一个接一个地离线)

感谢您的输入

你问了

1) is it possible (and clean) to do that without closing all R instances?

而且我可以保证,是的,它在任何地方都是如此运作和完成的。

至于

2) More precisely, I am concerned about the following:

你读错了。建议重新启动 R 以确保加载新包,因为您无法将其插入 运行 会话。

进一步

3) is there an alternative way to maintain R packages on a network of servers, that are running scripts all the time, without having to put each server offline one by one)

永远不会必须让服务器离线才能更新用户-space包。例如。当我们每年两次升级整个 Ubuntu 版本时,我们甚至不会让它们下线。