我正在大学所维护的闪亮服务器上部署闪亮应用程序,并且有许多.libPaths()
包含不同版本的软件包。
> .libPaths()
[1] "/zeolite/rpauloo/R/x86_64-pc-linux-gnu-library/3.4"
[2] "/nfs/admin/software/xenial/system-gcc/R_libs"
[3] "/usr/local/lib/R/site-library"
[4] "/usr/lib/R/site-library"
[5] "/usr/lib/R/library"
我的闪亮应用启动时,默认情况下会从shiny
加载.libPaths()[2]
,然后从R6
导入R6
V.2.2.1 路径。
.libPaths()[1].
R6
> = V.2.2.2
在.libPaths()[2]
中进行SysAdmin更新R6
很简单,但是它们不能这样做,因为其他人的应用程序依赖该路径上的库,我们不想破坏它们。
分离.libPaths()[1]
并从detach("package:R6", unload=TRUE, force = TRUE, character.only = TRUE)
library(R6, lib.loc = "/zeolite/rpauloo/R/x86_64-pc-linux-gnu-library/3.4")
加载
shiny
分离.libPaths()[1]
并从detach("package:shiny", unload=TRUE, force = TRUE, character.only = TRUE)
library(shiny, lib.loc = "/zeolite/rpauloo/R/x86_64-pc-linux-gnu-library/3.4")
加载
.libPaths()
在global.R
文件的开头设置我的.libPaths(.libPaths()[1])
,使其仅包含我想要的路径。
etc
在"/zeolite/rpauloo/R"
下添加一个Rprofile.site
文件夹,其中包含以下.First <- function(){
.libPaths("/zeolite/rpauloo/R/x86_64-pc-linux-gnu-library/3.4")
}
文件(advice from here):
R6
这些方法都不起作用。为什么?
shiny
是附加软件包,因此无法卸载。 .libPaths()[2]
的文件之前从global.R
加载libPaths()
,所以设置Rprofile.site
无济于事。 shiny
文件可能位于错误的目录中,但是将其放在管理目录中会与其他应用程序混淆.libPath
加载ggplot2 extension
?还是我误解了这个问题?还有另一种解决方法吗?