安装stars包失败后sf包丢失且无法重装依赖的技术求助
解决方案步骤
1. 修复CRAN仓库访问问题
- 先设置国内CRAN镜像,避免索引访问失败:
options(repos = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) - 优先尝试安装sf的预编译二进制包,跳过源码编译的麻烦:
install.packages("sf", type = "binary")
2. 解决units包的libudunits2.so缺失问题
- 用Homebrew安装udunits2依赖库:
brew install udunits - 给R指定udunits的路径,再重装units:
Sys.setenv(UDUNITS2_INCLUDE="/usr/local/include") Sys.setenv(UDUNITS2_LIBS="/usr/local/lib") install.packages("units", type = "binary")
3. 解决wk包C++编译报错
- 你的系统和R版本较旧,新版本wk的C++语法不兼容,需安装适配的旧版本(比如wk_0.7.4):
- 从CRAN归档下载
wk_0.7.4.tar.gz - 本地安装:
install.packages("/path/to/wk_0.7.4.tar.gz", repos = NULL, type = "source")
- 从CRAN归档下载
- 检查Xcode Command Line Tools版本,必须安装适配MacOS 10.13的版本(Xcode 9.4.1是最后支持该系统的版本),安装命令:
若无法在线安装,去苹果开发者网站手动下载对应版本的Command Line Tools。xcode-select --install
4. 依次安装s2和sf
- wk安装成功后,安装适配R3.6的s2旧版本(比如s2_1.1.4):
install.packages("/path/to/s2_1.1.4.tar.gz", repos = NULL, type = "source") - 最后安装sf_1.0-15:
install.packages("/path/to/sf_1.0-15.tar.gz", repos = NULL, type = "source")
5. 后续注意事项
- 不要安装最新版stars包,它依赖的库版本和你的系统不兼容,找适配R3.6的stars旧版本安装。
- 所有包优先用二进制版本安装,只有二进制包不可用时再尝试源码安装,且必须选对应R版本的旧版包。
内容的提问来源于stack exchange,提问作者Scott
相关产品推荐
相关产品推荐

