R:";制造";从本地tar.gz安装R包时找不到



R包ConvCalendar已不在Cran存储库中(请参阅此处(。然而,因为我在以前的项目中大量使用过这个软件包,所以最好在我的机器上安装它,即使是旧版本也足够了。

(Windows 10环境(

在上面的链接中,可以从档案下载ConvCalendar的旧版本。我就这样做了,并尝试通过运行(也安装并加载了devtools(来安装它:

install.packages("ConvCalendar_1.2.tar.gz", repos=NULL, type="source")

然而,我收到以下错误消息:

> install.packages("ConvCalendar_1.0.tar.gz", repos=NULL, type="source")
Installing package into ‘C:/Users/myname/Documents/R/win-library/3.5’
(as ‘lib’ is unspecified)
* installing *source* package 'ConvCalendar' ...
** libs
*** arch - i386
Warning in system(cmd) : 'make' not found
ERROR: compilation failed for package 'ConvCalendar'
* removing 'C:/Users/myname/Documents/R/win-library/3.5/ConvCalendar'
In R CMD INSTALL
Warning in install.packages :
  installation of package ‘ConvCalendar_1.2.tar.gz’ had non-zero exit status

正在寻找这个问题的解决方案。

您需要的是更新Rtool,这是我之前遇到的相同问题的链接,一旦您更新它就会工作。

重新安装Rtools,请查看下面的链接以找出正确版本的Rtools。

https://cran.r-project.org/bin/windows/Rtools/history.html

'make' not found是一个关于问题的非常清晰的消息,正如这里和其他地方所指出的,这是由于Rterm不知道在哪里可以找到它(与RStudio等其他工具不同,base R完全不知道默认设置Rtools路径的Windows注册表值(。

在Rtools 3.5之前,安装程序中的复选框(负责将正确的目录添加到PATH(可以巧妙地避免这种情况,但新版本删除了它。可能是为了关注Rtools_HOME变量(它对系统上安装的任何其他变量都更独立,更具弹性(,如果只是这样的话,直到R 4.2,代码中才真正关心它。

除此之外,只有在Rtools 4.0之后(可能是因为他们更新了旧的MSYS2/Cygwin环境,也可能是附带的R 4.0中的内容?(,您才能使用带空格的长文件名来指向包含make的文件夹。此外,希望您没有在任何地方手动设置BINPREF。

TL;DR:只需添加类似";C: \rtools40\usr\bin"(或任何您拥有的(到您的PATH。

基于@mirh的回答。

我在";C: \r工具"在窗户上使"未找到";问题(我还收到一个警告,说找不到RTools(。我无法通过传统路线更改路径,因为我缺少管理权限。以下帮助:

添加到你的.RProfile行:

Sys.setenv(PATH = paste0(Sys.getenv("PATH"), ";C:\rtools40\usr\bin"))

这将更改当前会话的R中的路径。如果您有不同版本的RTools或不同的安装目录,则可能需要对其进行更改。

在这之后,我可以从源代码安装,并且我不再收到RTools警告。

最新更新