在R中将源代码(mypackage.tar.gz)转换为窗口安装(mypackage.zip)

在R中将源代码(mypackage.tar.gz)转换为窗口安装(mypackage.zip),r,compiler-construction,package,R,Compiler Construction,Package,是否可以在家中将源代码(mypackage.tar.gz)转换为R中的窗口安装(mypackage.zip)?我怎么做 我可以用7-Zip解压tar.gz。当我尝试重新编译时,出现以下错误消息: 正在加载所需的包:mypackage 失败,错误为:“mypackage”不是有效的已安装程序包“否,您需要安装Rtools并从以.tar.gz结尾的源程序包编译以.zip结尾的二进制程序包。甚至对于只包含R代码的包,也需要包/构建“编译”步骤 请尝试web上关于在Windows上构建软件包的众多教程之

是否可以在家中将源代码(mypackage.tar.gz)转换为R中的窗口安装(mypackage.zip)?我怎么做

我可以用7-Zip解压tar.gz。当我尝试重新编译时,出现以下错误消息:

正在加载所需的包:mypackage
失败,错误为:“mypackage”不是有效的已安装程序包“

否,您需要安装Rtools并从以
.tar.gz
结尾的源程序包编译以
.zip
结尾的二进制程序包。甚至对于只包含R代码的包,也需要包/构建“编译”步骤

请尝试web上关于在Windows上构建软件包的众多教程之一


或者,使用awesome网站为您创建包。

我在Linux机器上开发我的R包-如果您也这样做,这就是我所做的,它可能会帮助您

为了制作R的.zip文件,我基本上是将其“安装”到一个临时目录并进行压缩。该.zip文件可以在windows上使用

# make the package:
R CMD build my_package

# make tmp directory
mkdir tmp

# install the package to temp directory
R CMD INSTALL -l tmp my_package.tar.gz

# zip it up
cd tmp
zip -r my_package.zip my_package

# move your zip file back out and delete tmp directory
mv my_package.zip ../
cd ../
rm -rf tmp

为了方便起见,我将这些都放在一个makefile中,这样我就可以键入(例如,
makedoc
来生成文档(因为我使用了roxygen2),
makepackage
来执行
R CMD构建
make-zip
将.tar.gz转换为.zip等。

此方法仅在有C/C++/Fortran代码要编译时有效,因此它不会在mclust上工作,并且通常不鼓励使用,正如R列表上的线程所看到的那样。哦,我忘了提到我只有R代码(我想它不会与任何编译的代码一起工作?)。几个月前,当我面临与OP相同的困境时,我在R邮件列表存档中尽可能仔细地查找,只能找到一个相关的线程,该线程由负责安装
R CMD的人执行
,然后是
zip
,这就是为什么我在我的工作流程中采用了该线程。不过,我一直很乐意对此进行改进,现在将研究Rtools,但我的要求是在Linux下构建Windows.zip,而Rtools似乎是在Windows下构建的?如果您的代码不在您的掌握之中,那么没有什么比win builder更棒了:)