You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows11下R4.1.0无法安装unigd 0.1.1包求助

问题:Windows 11下R v4.1.0无法安装unigd v0.1.1包

环境信息

  • 系统:Windows 11(R显示运行在Windows 10 x64 build 22621)
  • R版本:v4.1.0
  • 已安装Rtools40并配置到PATH中
  • 目标包:unigd v0.1.1(httpgd v2.0.1的依赖包,httpgd是VS Code查看R图形的推荐工具)

安装错误信息

执行命令 install.packages("unigd", dependencies = T) 时出现编译错误:

/mingw32/bin/g++ -shared -s -static-libgcc -o unigd.dll tmp.def base_64.o compress.o cpp11.o draw_data.o page_store.o plot_history.o r_thread_posix.o r_thread_win32.o renderer_cairo.o renderer_json.o renderer_meta.o renderer_strings.o renderer_svg.o renderer_tikz.o renderers.o unigd.o unigd_dev.o unigd_external.o uuid.o -L../windows/harfbuzz-2.7.4/lib/i386 -lpng -lz -L../windows/cairo-1.16.0/lib/i386 -lcairo -lfreetype -lpixman-1 -lharfbuzz -lbz2 -liconv -lgdi32 -ltiff -ltiffxx -ljpeg -lzstd -lwebp -lsharpyuv -llzma -LC:/<MY_INSTALL_DIR>/R/R-41~1.0/bin/i386 -lR
C:/rtools40/mingw32/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lzstd
C:/rtools40/mingw32/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lwebp
C:/rtools40/mingw32/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lsharpyuv
C:/rtools40/mingw32/bin/../lib/gcc/i686-w64-mingw32/8.3.0/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -llzma
collect2.exe: error: ld returned 1 exit status
no DLL was created
ERROR: compilation failed for package 'unigd'

R会话信息

> sessionInfo()
R version 4.1.0 (2021-05-18)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 22621)

Matrix products: default

locale:
[1] LC_COLLATE=German_Switzerland.1252  LC_CTYPE=German_Switzerland.1252    LC_MONETARY=German_Switzerland.1252 LC_NUMERIC=C
[5] LC_TIME=German_Switzerland.1252

attached base packages:
[1] stats     graphics  grDevices datasets  utils     methods   base

loaded via a namespace (and not attached):
[1] compiler_4.1.0 cli_3.6.1      tools_4.1.0    jsonlite_1.8.8 rlang_1.1.3    renv_1.0.3

解决方案

错误核心是链接器找不到zstd、webp、sharpyuv、lzma这些依赖库,Rtools40默认未包含这些库,可按以下步骤解决:

  1. 优先安装预编译二进制包
    跳过本地编译,直接安装CRAN提供的二进制版本:

    install.packages("unigd", type = "binary")
    

    若CRAN无对应版本,下载unigd的二进制包手动安装:

    install.packages("本地包路径/unigd_0.1.1.zip", repos = NULL, type = "binary")
    
  2. 手动补充缺失依赖库(需本地编译时用)

    • 打开Rtools40的MSYS2终端(选对应R架构的版本,你的R是x64就选64-bit)
    • 执行命令安装缺失库:
      pacman -S mingw-w64-x86_64-zstd mingw-w64-x86_64-libwebp mingw-w64-x86_64-xz
      
      (sharpyuv随libwebp一同安装)
    • 安装完成后重新执行install.packages("unigd", dependencies = TRUE)
  3. 升级R版本(推荐)
    R v4.1.0版本较旧,后续版本搭配的Rtools(如Rtools42/Rtools43)已包含这些缺失库。升级到R v4.2及以上版本,既能解决依赖问题,也能更好适配Windows 11。

  4. 验证PATH配置
    确保Rtools路径在系统PATH中优先级正确,在R中执行以下命令检查:

    Sys.which("g++")
    

    输出需指向Rtools40的mingw64/bin目录下的g++程序。


内容的提问来源于stack exchange,提问作者Daniel M Bader

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 06:55:12