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

安装R包treeclim时出现'Error in if (nzchar(cxx))'错误的解决方法

解决M1 Mac下安装treeclim本地R包的编译错误

错误根源

编译过程中出现的make: *** /Users/user/.R/Makevars: Is a directory. Stop.是核心问题——R编译源码包时,默认读取~/.R/Makevars作为编译配置文件,但该路径被意外创建成了目录,导致make命令无法解析配置,进而触发后续的Error in if (nzchar(cxx)) { : argument is of length zero变量错误。

解决步骤

  • 1. 删除错误的Makevars目录
    打开终端执行以下命令,彻底删除误创建的目录:

    rm -rf ~/.R/Makevars
    
  • 2. 创建适配M1芯片的Makevars配置文件
    终端执行命令创建并编辑配置文件:

    nano ~/.R/Makevars
    

    将以下适配arm64架构的编译配置粘贴到文件中:

    CC=clang
    CXX=clang++
    CFLAGS=-arch arm64 -O3 -Wall -pedantic
    CXXFLAGS=-arch arm64 -O3 -Wall -pedantic
    LDFLAGS=-arch arm64
    

    按Ctrl+O保存修改,Ctrl+X退出编辑器。

  • 3. 重新安装treeclim包
    回到RStudio,重新运行安装命令:

    install.packages("~/Desktop/treeclim_2.0.6.0.tar", repos = NULL, type = "source", dependencies = TRUE)
    

额外注意事项

如果之前未安装Xcode命令行工具,需先执行以下命令安装(编译源码包必需):

xcode-select --install

内容的提问来源于stack exchange,提问作者ormbtnk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 03:05:03