可以在不重新启动R的情况下卸载Rcpp包DLL吗?

Ily*_*ban 5 r rcpp

在Windows上安装Rcpp软件包时,需要确保卸载软件包DLL,或者在复制新DLL时出现"Permission Denied"错误.这意味着每次重新编译都会重新启动R,这非常烦人.有没有办法卸载包DLL而不杀死R?

我已经尝试过该detach("package:my_package", force=TRUE)命令,但它没有卸载DLL.

Dir*_*tel 8

意见分歧.我常常喜欢运行构建和我的主要研发会话(S)以外的考试,只需通过链接R CMD INSTALLRscript(或,在Linux上,r从利特勒调用),以测试新的版本.如果您使用适当的选项来R CMD INSTALL ...跳过可能需要额外时间的部件,您可以获得快速周转,并确保您获得新的构建.

如果您想通过单击按钮获得相同的行为,RStudio也会提供相同的行为.


wus*_*978 5

我猜您需要运行library.dynam.unload才能卸载 DLL。


had*_*ley 5

如果要在主R会话中执行此操作(不使用RStudio,这使得重新安装软件包和重新加载R非常容易),则可以使用devtools:

library(devtools)
load_all("path/to/my/package")
Run Code Online (Sandbox Code Playgroud)

除其他外,load_all将重新加载所有R代码,并重新编译并重新连接DLL。