Rstudio安装R包报错:Warning in system(cmd) : ‘make‘ not found

在尝试安装R语言的AMORE包时遇到编译失败的问题,通过更新RStudio、安装RTools、配置环境变量以及安装其他依赖包,解决了问题。最终通过本地下载包源文件进行安装并成功加载AMORE库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天做BP神经网络和SVM,想安装AMORE包,输入以下代码:

install.packages("AMORE")

报错:

Warning in system(cmd) : 'make' not found
ERROR: compilation failed for package 'AMORE'

 经过搜索,得出以下解决方法:

Step 0. 将Rstudio更新到最新版本:

install.packages("installr")
library(installr)
updateR()

Step 1.  网页下载安装RTools:

R for Windows Build Tools Archive (tsinghua.edu.cn)

 安装版本:rtools40v2-x86_64.exe

Step 2. 运行代码:

writeLines('PATH="${RTOOLS40_HOME}\\usr\\bin;${PATH}"', con = "~/.Renviron")
Sys.which("make")

能显示“make”路径即可。

 "D:\\rtools40\\usr\\bin\\make.exe"

Step 3. 尝试安装jsonlite包,安装成功即代表RTools 可使用。

install.packages("jsonlite", type = "source")

Step 4. 安装原本报错的包,仍然报错:

install.packages("AMORE")

 Warning in install.packages :
  package ‘AMORE’ is not available for this version of R

A version of this package for your version of R might be available elsewhere,
see the ideas at
https://cran.r-project.org/doc/manuals/r-patched/R-admin.html#Installing-packages

于是改换安装方法,进行本地安装。官网下载该包的压缩包形式后,进行安装:

install.packages("C:/Users/.../AppData/Local/Temp/AMORE_0.2-16.tar.gz", repos = NULL, type = "source")

 ……
* DONE (AMORE)
Making 'packages.html' ... done

调用该包:

library("AMORE")

 无报错信息。newff等函数均可正常使用。

贴大佬教程:

Rtools下载与安装(win10) - 知乎 (zhihu.com)

 

### 解决 Windows 系统上安装 `rgdal` 时出现的 `'make not found'` 错误 在 Windows 上安装 R `rgdal` 时,如果遇到 `'make not found'` 错误,通常是由于未正确配置 Rtools 工具链所致。以下是详细的分析和解决方案。 #### 可能原因及解决方法 1. **Rtools 未正确安装或未添加到系统路径** 在 Windows 平台上构建源代码需要使用 GNU 工具集(如 `gcc`, `g++`, 和 `make`)。这些工具由 Rtools 提供。如果没有安装 Rtools 或者它的可执行文件没有被加入系统的 PATH 环境变量中,就会触发此错误消息[^1]。 2. **确保 R 能够找到 Rtools** 当前版本的 R 自动检测并启用与之匹配的 Rtools 版本。然而,有时仍然需要手动干预来保证两者之间的兼容性。可以通过以下步骤完成校验: - 检查是否已经安装适合当前 R 发行版的 Rtools; - 更新 `.Renviron` 文件中的 `BINPREF` 参数指向正确的 MinGW-w64 编译器位置; - 使用命令 `Sys.which("make")` 来测试系统能否识别 `make` 实用程序。 3. **安装 GDAL/PROJ 库及其开发头文件** 类似于 Linux 用户面临的情形,在 Windows 下也需要准备相应的外部依赖项才能顺利完成编译过程。推荐采用 OSGeo4W Network Installer 方法获取预编译好的二进制形式的 GDAL 和 PROJ 组件[^2]: ```cmd osgearth-setup.exe --add-to-path=yes --select-all-optional-components=no \ --components="gdal-core,proj-core" ``` 4. **调整环境变量适应本地化需求** 此外还需要注意一些细节上的差异,比如不同架构之间共享库命名约定的不同之处。例如对于某些特定场景下的 Qt Creator 插件加载失败案例所揭示的信息表明,即使目标动态链接库确实存在于磁盘之上也可能因为版本号解析机制失效而导致找不到合适入口点的现象发生[^3]。 5. **示例操作指南** ```r # 初始化全局选项以便后续动作顺利开展下去 setRepositories(ind=c(1,2)) # 显式指定镜像地址从而加快网络传输速率 install.packages('rgdal', repos='http://cran.us.r-project.org') # 如果继续报错则考虑降级尝试更早些时候发布的稳定版本 url <- paste0( "https://cran.rstudio.com/src/contrib/Archive/", "rgdal/", "rgdal_", Sys.getenv("RGDAL_VERSION"), ".tar.gz" ) install.packages(url, repo=NULL, type="source") ``` --- ### 示例代码片段 为了帮助理解整个流程,这里给出一段综合性的示范脚本: ```r if(!nzchar(Sys.getenv("MAKE"))) { message("'make' was not detected in your system path.") } else { cat(paste("Detected make:", Sys.getenv("MAKE")), "\n") } # Verify availability of essential build utilities. utils::packageDescription("base")$Built -> built_version cat(sprintf("Current session's base package Built version:%s\n", built_version)) ``` --- ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值