更新R、RTools及R Studio后无法加载包的问题求助
R Studio更新后包加载失败(LoadLibrary找不到指定模块)
问题详情
启动R Studio时触发如下错误:
Error: package or namespace load failed for ‘stats’ in inDL(x, as.logical(local), as.logical(now), ...): unable to load shared object 'C:/Program Files/R/R-4.4.3/library/stats/libs/x64/stats.dll': LoadLibrary failure: The specified module could not be found.
所有未在启动时勾选的包(无论用户库还是系统库)加载时随机出现相同错误,即使文件实际存在于对应路径中。
环境信息:
>.libPaths() [1] "C:/Users/me/AppData/Local/R/win-library/4.4" [2] "C:/Program Files/R/R-4.4.3/library"
安装包时,二进制包会被下载到临时目录:
The downloaded binary packages are in C:\Users\me\AppData\Local\Temp\RtmpghHNBq\downloaded_packages
问题仅在更新RTools、R及R Studio后出现,已尝试:卸载重装并以管理员运行、设置R_LIBS_USER指向系统库、编辑Rprofile.site指定路径。
解决方案
1. 确认RTools与R版本严格兼容
RTools版本必须和当前R版本完全匹配:
- 打开R控制台运行
version查看R版本(如4.4.3对应RTools44) - 下载对应版本的RTools,安装时勾选"Add to PATH"选项,完成后重启电脑
2. 修复系统库权限
系统库路径C:/Program Files/R/R-4.4.3/library可能因权限限制导致R无法读取DLL:
- 右键该文件夹 → 属性 → 安全 → 编辑
- 给当前用户添加"完全控制"权限,应用设置后重启R Studio
3. 统一库路径避免冲突
强制使用系统库作为唯一包路径:
- 在R控制台运行:
.libPaths("C:/Program Files/R/R-4.4.3/library") - 运行
.libPaths()验证仅显示系统库路径 - 永久生效:编辑
C:/Program Files/R/R-4.4.3/etc/Rprofile.site,添加上述代码
4. 重新注册DLL文件
用管理员权限打开命令提示符,执行:
cd "C:/Program Files/R/R-4.4.3/library/stats/libs/x64" regsvr32 stats.dll
批量处理所有包的DLL:
for /r "C:/Program Files/R/R-4.4.3/library" %f in (*.dll) do regsvr32 /s "%f"
5. 清理临时目录并重装包
- 手动删除
C:\Users\me\AppData\Local\Temp\RtmpghHNBq\downloaded_packages下的所有文件 - 在R控制台指定系统库安装包:
install.packages("包名", lib = "C:/Program Files/R/R-4.4.3/library")
内容的提问来源于stack exchange,提问作者user30214809
相关产品推荐
相关产品推荐

