更新延迟加载的R包

时间:2015-10-30 08:44:45

标签: r package lazy-loading

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

现在我想更新软件包:

1)在不关闭所有R实例的情况下可以(并且干净)吗?

2)更准确地说,我关注以下内容:
2)a)当我尝试安装已加载的软件包时,我从用户界面获得的警告: enter image description here
2)b)中 来自https://cran.r-project.org/doc/manuals/r-release/R-ints.html#Lazy-loading

  

当加载使用它的包/命名空间时,包/命名空间环境会填充所有命名对象的promises:当评估这些promise时,它们会从数据库加载实际代码。

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

3)是否有另一种方法可以在服务器网络上维护R包,这些服务器一直在运行脚本,而不必逐个使每个服务器脱机。

感谢您的输入

1 个答案:

答案 0 :(得分:2)

你问了

  

1)在不关闭所有R实例的情况下可以(并且干净)吗?

我可以肯定是的,它是如何在各地工作和完成的。

至于

  

2)更准确地说,我关注以下内容:

你读错了。建议使用R restart以确保加载新包,因为您无法将其插入正在运行的会话中。

进一步

  

3)是否有另一种方法可以在服务器网络上维护R包,这些服务器一直在运行脚本,而不必逐个使每个服务器脱机。

从不必须离线服务器只是为了更新用户空间包。例如。我们甚至不会让他们脱机,比如我们每年两次升级整个Ubuntu版本。