5

实际问题

我可以卸载删除一个包而不必重新启动已经需要/加载包的 R 进程吗?

我看过这个问题/答案,但它只处理部分问题(卸载)


背景

我想这样做的原因是我正在开发一个基于项目的包开发框架,在该框架中我还使用基于项目的包库以保持标准库“干净”并允许对包进行系统测试依赖关系。

唯一的问题是用户在初始化项目之前很难记住基于项目的包库的路径(它还加载所有指定的包依赖require()项并使基于项目的库成为第一个.libPaths()

实际上,这意味着用户目前无法以舒适的方式(即在初始化项目之后)从基于项目的包库中真正卸载包依赖项,我正在寻找改变这一点的方法。

我试过的

install.packages("forecast")
require("forecast")

detach("package:forecast", unload=TRUE)
remove.packages("forecast")

> install.packages("forecast")
Warning: unable to access index for repository http://www.stats.ox.ac.uk/pub/RWin/bin/windows/contrib/2.15
trying URL 'http://cran.rstudio.com/bin/windows/contrib/2.15/forecast_4.03.zip'
Content type 'application/zip' length 1124001 bytes (1.1 Mb)
opened URL
downloaded 1.1 Mb

package 'forecast' successfully unpacked and MD5 sums checked
Warning: cannot remove prior installation of package 'forecast'

The downloaded binary packages are in
    C:\Users\wwa418\AppData\Local\Temp\RtmpYPry89\downloaded_packages

问题似乎是/forecast/libs/i386/forecast.dll它可能在加载时被注册并且似乎很难杀死;-)

有任何想法吗?

4

0 回答 0