2013-01-25 61 views
5

在Windows上安装Rcpp软件包时,需要确保软件包DLL已卸载,否则复制新DLL时会出现“权限被拒绝”错误。这意味着在每次重新编译时重新启动R,这非常烦人。有没有什么办法可以在不杀死R的情况下卸载包DLL?可以在不重新启动R的情况下卸载Rcpp包DLL吗?

我试过detach("package:my_package", force=TRUE)命令,但它并没有卸载DLL。

回答

3

如果你想这样做,你的主要研发会话(不使用RStudio,这使得重新安装包,重装[R很容易),你可以使用devtools:

library(devtools) 
load_all("path/to/my/package") 

除其他事项外,load_all会重新加载所有R代码,然后重新编译并重新连接DLL。

4

我想你需要运行library.dynam.unload来卸载DLL。

6

意见分这个。我经常更喜欢在我的主R会话之外运行构建和测试,只需将R CMD INSTALLRscript(或Linux,r来自littler的调用)链接起来以测试新构建。如果您使用R CMD INSTALL ...的适当选项来跳过可能需要额外时间的零件,则您可以快速周转并确保您获得全新构建。

如果你想通过点击一个按钮来实现相同的行为,RStudio也提供它。

相关问题