Rscript运行脚本找不到tidyverse包及编译依赖问题排查
问题解决步骤
1. 统一RStudio与Rscript的包库路径
RStudio能识别包但Rscript找不到,核心原因是两者使用的包库路径不一致:
- 在RStudio中执行以下代码,记录输出的路径(例如
/Users/xxx/Library/R/4.3/library):.libPaths() - 在终端执行以下命令,对比路径差异:
若路径不同,选择以下任一方法修正:Rscript -e ".libPaths()"- 方法一:在脚本中指定库路径
在foo.R脚本最顶部添加:.libPaths(c("你在RStudio中记录的路径")) - 方法二:用Rscript重装tidyverse
在终端运行,确保包安装到Rscript识别的路径:Rscript -e "install.packages('tidyverse', repos='https://cloud.r-project.org')"
- 方法一:在脚本中指定库路径
2. 解决编译依赖缺失问题
编译textshaping包时提示fribidi.h找不到,是缺少系统级依赖库,通过Homebrew安装即可:
- 终端执行以下命令安装依赖:
brew install fribidi harfbuzz - 安装完成后,重新编译安装相关包:
或直接重装tidyverse:Rscript -e "install.packages('textshaping', repos='https://cloud.r-project.org')"Rscript -e "install.packages('tidyverse', repos='https://cloud.r-project.org')"
3. 验证修复效果
终端运行脚本确认问题解决:
Rscript foo.R
若仍有报错,检查是否存在其他依赖缺失,重复上述步骤补充对应系统库即可。
内容的提问来源于stack exchange,提问作者jonahksmith
相关产品推荐
相关产品推荐

