Windows下R语言pkgconfig包安装失败及readxl依赖问题求助
解决R中pkgconfig包安装失败的问题
根据你提供的报错信息和环境细节,这个问题几乎可以确定是用户文件夹名称中的特殊字符ê导致的编码问题——从报错里能看到路径中的Prêt!被错误解析成了Prjt!,这就是Windows系统下非ASCII字符路径在R包安装时的常见bug。下面给你几个针对性的解决办法:
问题回顾
你已经成功安装并加载了readxl包,但调用readxl::read_xlsx()时提示缺少pkgconfig依赖;尝试安装pkgconfig时出现路径相关错误,报错核心是无法找到解压后的DESCRIPTION文件,且路径中的特殊字符出现了错乱。你的环境信息如下:
sessionInfo()
R version 3.6.1 (2019-07-05) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 10 x64 (build 18362) Matrix products: default locale: [1] LC_COLLATE=English_United States.1252 [2] LC_CTYPE=English_United States.1252 [3] LC_MONETARY=English_United States.1252 [4] LC_NUMERIC=C [5] LC_TIME=English_United States.1252 attached base packages: [1] stats graphics grDevices utils datasets methods base other attached packages: [1] readxl_1.3.1 loaded via a namespace (and not attached): [1] Rcpp_1.0.2 crayon_1.3.4 assertthat_0.2.1 cellranger_1.1.0 [5] R6_2.4.0 magrittr_1.5 pillar_1.4.2 rlang_0.4.0 [9] rstudioapi_0.10 tools_3.6.1 glue_1.3.1 compiler_3.6.1
.libPaths()
[1] "C:/Users/Maintenant Prêt!/Documents/R/win-library/3.6" [2] "C:/Program Files/R/R-3.6.1/library"
具体解决办法
1. 优先安装二进制版本(最简单有效)
CRAN提示有可用的二进制版本pkgconfig 2.0.2,这个版本完全能满足readxl的依赖需求,而且二进制包安装不需要编译,不会触发路径编码问题。直接运行以下命令:
install.packages("pkgconfig", type = "binary")
2. 修改R库路径到无特殊字符的目录
如果你需要最新版本的pkgconfig,或者二进制版本安装后仍有问题,建议把R的默认库路径改成没有特殊字符、空格的简单路径:
- 先在本地创建一个新文件夹,比如
C:/R_Libraries(路径里不要有中文、特殊字符或空格) - 在R中临时修改库路径:
.libPaths("C:/R_Libraries")
- 然后再安装
pkgconfig:
install.packages("pkgconfig")
如果想永久修改这个设置,可以找到R的配置文件Rprofile.site(通常位于C:/Program Files/R/R-3.6.1/etc),在文件末尾添加一行:
.libPaths("C:/R_Libraries")
保存后重启R即可生效。
3. 尝试以管理员身份运行R
虽然你提到其他包能正常安装,但偶尔权限限制也会导致文件写入失败。右键点击R或RStudio,选择「以管理员身份运行」,然后再次执行安装命令:
install.packages("pkgconfig")
4. 手动下载并安装
如果以上方法都不行,可以手动下载二进制包进行安装:
- 下载Windows版本的
pkgconfig二进制包(.zip格式,比如pkgconfig_2.0.2.zip) - 在R中运行以下命令(替换成你实际的文件路径):
install.packages("C:/Downloads/pkgconfig_2.0.2.zip", repos = NULL, type = "binary")
内容的提问来源于stack exchange,提问作者irudnyts




