R语言实操记录——R包无法安装,报错:Warning in system(cmd) : ‘make‘ not found

R语言

R语言实操记录——R包无法安装,报错:Warning in system(cmd) : ‘make‘ not found


文章目录

  • R语言
  • 一、起因
  • 二、具体步骤
    • 2.1、确认问题源
    • 2.2、安装RTools
    • 2.3、与R(/Rstudio)绑定
    • 2.4、验证可行性
  • 三、疑惑


一、起因

R语言在包的安装上是真的方便,一句install.packages()就可以实现绝大多数包的安装。可惜,越简单的东西,报起错来也越是要命。

  • 我在加载Seurat包时,报错提醒我缺少依赖包rgeos。
    • 行呗,那就install.packages()呗。
  • 开始报错 package ‘rgeos’ is not available for this version of R”。
    一般原因有两个:
    1. 该版本的R数据库中不含该包(淘汰或改名了)
    2. 该软件包可用,但不适用于当前版本的R或操作系统类型(Unix/Windows)
    • 解决办法
    1. 用Bio conductor或者Github的安装方法安装,具体操作
    2. install.packages(pkgs, repos = “换个镜像源”)
    3. 直接去官网下载压缩包,进行本地安装
  • 再加载一遍Seurat包,开始报错:Error: package or namespace load failed for ‘Seurat’ in library.dynam(lib, package, package.lib): 没有这个DLL ‘rgeos’:是不是没有为此架构安装?好家伙,还是没安上。我怀疑了一下,是不是包的版本和软件版本有冲突,或者rgeos和Seurat两个包的版本起冲突了,更改了几次,还是报错。于是我就去看了下,安装包时输出的log。
  • 报错Warning in system(cmd) : ‘make‘ not found
  • 具体错误:
** installing *source* package 'rgeos' ...
** 成功将'rgeos'程序包解包并MD5和检查
** using staged installation
** libsWarning in system(cmd) : 'make' not found
ERROR: compilation failed for package 'rgeos'
* removing '.../R/4.2/library/rgeos'
Warning in install.packages :
installation of package ‘rgeos’ had non-zero exit status
  • 这个make命令是RTools中的,我更新了RTools,配置了make命令的环境变量就可以本地安装rgeos包了。
    • Rtools:一个用于Windows操作系统的软件包,它为R编程语言提供了一套工具和依赖项,以便在Windows上进行编译和构建R软件包。 Rtools的安装和配置使得开发人员能够在Windows环境中更轻松地编译和构建R包,同时也方便了使用C/C++或Fortran等其他编程语言编写的扩展包的安装和使用。
    • 下面是具体步骤

二、具体步骤

2.1、确认问题源

> Sys.which("make")
make 
"" 

确认找不到make命令,make命令在RTools中

2.2、安装RTools

安装与当前R版本匹配的RTools版本,有两种方法(如果先前安装过RTools,先卸载RTools)

  • 方法一:在线安装
install.packages("installr")
install.packages("stringr")###依赖包
library(stringr)
library(installr)
## 需要用installr安装RTools
install.Rtools()
  • 方法二:本地安装
    去官网找与当前R版本匹配的安装包,除开需要将RTools安装在R(Rstudio)一个目录中外,其他一直点击下一步就行了。
    在这里插入图片描述
    在这里插入图片描述

2.3、与R(/Rstudio)绑定

假如忘记安装在同一目录下,或者R(/Rstudio)还是找不到make命令在哪的话,我们就需要将二者进行绑定,告诉它RTools的路径在哪。有两种方法。

  • 方法一:创建一个Renviron文件,指明Rtools主页的路径
    在Rstudio中运行:(这里以RTools 4.3为例)
writeLines('PATH="${RTOOLS43_HOME}\\usr\\bin;${PATH}"', con = "~/.Renviron")

完成之后,重启一下Rstudio

  • 方法二:配置环境变量
    直接配置环境变量,开机就读取这个目录。
  • 这里以Windows10为例,在Windows设置中点击系统
    在这里插入图片描述
  • 选择关于高级系统设置
    在这里插入图片描述
  • 选择环境变量
    在这里插入图片描述
  • 编辑Path,在Path中添加RTools的路径
    在这里插入图片描述
    在这里插入图片描述
  • 如果先前有下载过RTools,需要检查并清除掉个人变量系统变量中旧版本的RTools的目录路径。

2.4、验证可行性

> Sys.which("make")make 
"c:\\rtools43\\usr\\bin\\make.exe" install.packages("C:/Users/16748/Downloads/rgeos_0.6-4.tar.gz", repos = NULL, type = "source")

可以成功本地安装了。

三、疑惑

虽然解决了问题,可是我还是存在疑惑。在知道是RTools那边出问题后,我先是在应用程序中,找到了RTools,确定我安装了与Rstudio当前版本匹配的RTools版本,并且前不久才刚刚用过本地安装,理论上不应该会出错。想不通就干脆卸了重装好了,在卸载RTools时,发现应用程序中有它,但是卸载时提示找不到该程序,进入文件目录也确实找不到该包,重启电脑,重新加载还是一样的问题。emmm,好吧,就当它不存在吧,我换个版本吧。为了和新版本的RTools匹配,我又升级了Rstudio,R到最新版。RTools需要和R包的库放在一个目录下,方便加载,但是在安装新版时,提示当前目录下已安装过RTools,请换个目录。emmm,所以旧版的RTools真的存在啊,我翻来倒去都没找到。无奈,换个目录吧,在环境变量里,把这个目录加进去,也能成功加载。虽然最后还是解决了问题,但这种看不见的还解决不了的东西,真叫人心累。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/207363.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Visual Studio通过ClaudiaIDE插件设置背景图片

首先,在VS菜单栏上选择扩展-管理扩展,搜索插件为 ClaudiaIDE, 下载完成之后,关闭VS,点击Modify按钮安装: 等待安装完成,进入 VS , 打开 工具----选项---- ClauDiaIDE 界面 这个是背景色调 我选的…

反欺诈指南:东南亚数字经济反欺诈注意事项

目录 东南亚各类网络欺诈肆虐 科技助力东南亚反欺诈 东南亚做反欺诈需要注意四个方面 据谷歌、淡马锡和贝恩公司发布的一份报告显示,尽管东南亚地区的经济增长有所放缓,但2023年数字经济仍预计创造约100亿美元的收入,数字支付占该地区总交易额…

OpenCV简介及安装

前言 因为最近想做图像处理、人脸检测/识别之类的相关开发,所以就开始补OpenCV的相关知识,便开个专栏用于记录学习历程和在学习过程中遇到的一些值得注意的重点和坑。 学习过程基本上也是面向官方文档和Google。 简介 OpenCV(开源的计算机视觉库)是基于…

好用的样式动画库集合(css、js)

文章目录 前言一、Animate.css二、Anime.js三、CSShake四、Hover.css五、AniJS六、Animista七、Tachyons-animate八、Sequence.js九、Infinite十、OBNOXIOUS.CSS十一、MOTION UI十二、Keyframes.app十三、AnimXYZ十四、Whirl十五、Hamburgers十六、Vivify十七、Magic Animation…

滴滴“闪崩”的背后 - 对企业内网架构的启示

11月27日晚滴滴出现“闪崩”,不仅服务系统崩溃,同时滴滴内网也陷入崩溃状态。大家对服务系统崩溃的影响已有所了解,但对于内网崩溃带来影响的严重程度,可能远超出大多数人的想象,本文将详细介绍什么是内网,…

Spring AOP 代码案例

目录 AOP组成 通知的具体方法类型 引入Spring AOP依赖 定义AOP层 UserController Postman测试 AOP工作流程 AOP组成 切面 : 切⾯(Aspect)由切点(Pointcut)和通知(Advice)组成,它既包含了…

如何生成纯文本的目录树

参考资料: https://ascii-tree-generator.com/ 无需多言,感谢这些前辈的智慧。界面如下:

Elasticsearch:使用 ILM 示例运行降采样 (downsampling)

如果你对降采样还不是很熟的话,请阅读之前的文章 “Elasticsearch:对时间序列数据流进行降采样(downsampling)”。这是一个简化的示例,可让你快速了解降采样如何作为 ILM 策略的一部分来减少一组采样指标的存储大小。 该示例使用典…

机器学习第14天:KNN近邻算法

☁️主页 Nowl 🔥专栏《机器学习实战》 《机器学习》 📑君子坐而论道,少年起而行之 文章目录 介绍 实例 回归任务 缺点 实例 分类任务 如何选择最佳参数 结语 介绍 KNN算法的核心思想是:当我们要判断一个数据为哪一类时…

Find My键盘|苹果Find My技术与键盘结合,智能防丢,全球定位

键盘是最常用也是最主要的输入设备,通过键盘可以将英文字母、汉字、数字、标点符号等输入到计算机中,从而向计算机发出命令、输入数据等。还有一些带有各种快捷键的键盘。随着时间的推移,渐渐的市场上也出现独立的具有各种快捷功能的产品单独…

10个让UI设计更轻松的工具

UI设计软件对设计师来说非常重要。UI设计工具的使用是否直接影响到最终结果的质量,然后有人会问:UI界面设计使用什么软件?这里有一些UI设计师和那些对UI设计感兴趣的朋友列出了10个易于使用和免费的UI设计软件。 即时设计 即时设计是一款免…

【社会网络分析第6期】Ucient实操

一、导入数据处理二、核心——边缘分析三、聚类分析四、网络密度 一、导入数据处理 将数据导入Ucinet首先需要对数据进行处理。 承接上一期的数据格式:【社会网络分析第5期】gephi使用指南 原先得到的数据格式如下: 接下来打开ucinet: 之后…

HI3559AV100下对emmc总线速率的调整

先前使用3559开发板时,一直没觉得emmc会是个问题,但是最近一个国产化的项目中3559配合的是一款国产128G的emmc,因为板上面积限制,走线有点限制,导致uboot启动emmc有时候会失败。 1、报错的打印如下: MMC …

【机器视觉技术】:开创人工智能新时代

🎥 屿小夏 : 个人主页 🔥个人专栏 : IT杂谈 🌄 莫道桑榆晚,为霞尚满天! 文章目录 📑 前言🌤️ 机器视觉技术的实现☁️ 图像采集☁️ 图像处理☁️ 数据建模☁️应用展示…

Phpstudy v8.0/8.1添加 php-7.4.9

1、官网下载最新的php版本 打开Windows版的官网下载,地址:PHP For Windows: Binaries and sources Releases 页面上有不同的PHP版本,这里我们下载的是64位nts版的PHP7.4.9,php-7.4.9-nts-Win32-vc15-x64.zip。 2、解压下载的文…

segment-anything安装教程

文章目录 一. segment-anything安装教程 一. segment-anything安装教程 官网安装说明:https://github.com/facebookresearch/segment-anything anaconda下新建一个环境 conda create -n sam python3.8激活新建的环境 conda activate sam更换conda镜像源 conda config --add ch…

XUbuntu22.04之OBS30.0设置录制音频降噪(一百九十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

Nacos作为配置中心的一些知识二

11292327 问:客户端发请求给Nacos服务端,服务端这边会进行哪些处理? 答:客户端发请求给Nacos 服务端 ,服务端这边通过ConfigController类的309行的listener方法,进行处理 第一步 获取客户端请求的文件的…

中职组网络安全-web-PYsystem003.img-(环境+解析)

​ web安全渗透 1.通过URL访问http://靶机IP/1,对该页面进行渗透测试,将完成后返回的结果内容作为flag值提交; 访问该网页后发现F12被禁用,使用ctrlshifti查看 ctrlshifti 等效于 F12 flag{fc35fdc70d5fc69d269883a822c7a53e}…

SpringCloud核心组件

Eureka 注册中心,服务的注册与发现 Feign远程调用 Ribbon负载均衡,默认轮询 Hystrix 熔断 降级 Zuul微服务网关(这个组件负责网络路由,可以做统一的降级、限流、认证授权、安全) Eureka 微服务的功能主要有以下几…