在Windows上安装Rcpp软件包时,需要确保软件包DLL已卸载,否则复制新DLL时会出现“权限被拒绝”错误。这意味着在每次重新编译时重新启动R,这非常烦人。有没有什么办法可以在不杀死R的情况下卸载包DLL?可以在不重新启动R的情况下卸载Rcpp包DLL吗?
我试过detach("package:my_package", force=TRUE)
命令,但它并没有卸载DLL。
在Windows上安装Rcpp软件包时,需要确保软件包DLL已卸载,否则复制新DLL时会出现“权限被拒绝”错误。这意味着在每次重新编译时重新启动R,这非常烦人。有没有什么办法可以在不杀死R的情况下卸载包DLL?可以在不重新启动R的情况下卸载Rcpp包DLL吗?
我试过detach("package:my_package", force=TRUE)
命令,但它并没有卸载DLL。
如果你想这样做,你的主要研发会话(不使用RStudio,这使得重新安装包,重装[R很容易),你可以使用devtools:
library(devtools)
load_all("path/to/my/package")
除其他事项外,load_all
会重新加载所有R代码,然后重新编译并重新连接DLL。
我想你需要运行library.dynam.unload
来卸载DLL。
意见分这个。我经常更喜欢在我的主R会话之外运行构建和测试,只需将R CMD INSTALL
与Rscript
(或Linux,r
来自littler的调用)链接起来以测试新构建。如果您使用R CMD INSTALL ...
的适当选项来跳过可能需要额外时间的零件,则您可以快速周转并确保您获得全新构建。
如果你想通过点击一个按钮来实现相同的行为,RStudio也提供它。