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警告。