我在R中写了一个非常基本的包。事实上,我跟着this tutorial创建了一个基本包。
我的包在linux中运行得很好。例如:
> install.packages("linmod", repos=NULL) Warning in install.packages("linmod", repos = NULL) : argument 'lib' is missing: using '/home/jpgoel/R/i486-pc-linux-gnu-library/2.9' * Installing *source* package ‘linmod’ ... ** R ** data ** preparing package for lazy loading ** help *** installing help indices >>> Building/Updating help pages for package 'linmod' Formats: text html latex example ** building package indices ... * DONE (linmod) > library(linmod) > data(mod1) > mod1 Call: linmod.default(x = x, y = y) Coefficients: Const Bwt -0.3566624 4.0340627
现在,我拿了我的“linmod”文件夹,将其复制到Windows XP,并尝试了以下内容:
> install.packages("C:\\Documents\ and\ Settings\\foo\\Desktop\\linmod",repos=NULL) Error in gzfile(file, "r") : cannot open the connection In addition: Warning messages: 1: In unzip(zipname, exdir = dest) : error 1 in extracting from zip file 2: In gzfile(file, "r") : cannot open compressed file 'linmod/DESCRIPTION', probable reason 'No such file or directory' >
好。然后我把那个文件夹放到.zip文件中。然后我去了Packages - >从本地zip文件安装包...并选择我的包。
> utils:::menuInstallLocal() updating HTML package descriptions > library(linmod) Error in library(linmod) : 'linmod' is not a valid installed package
我很难过。我的包没有任何本机代码(例如,没有用C语言编写的扩展名。)
随意下载.zip from here(下载链接一直在底部,“将文件保存到您的电脑”)
答案 0 :(得分:12)
考虑使用优秀的CRAN Win-Builder服务将您的R包源转换为Windows的可安装zip文件。
您只需通过ftp上传,然后不久就会收到有关您的包裹的通知。
答案 1 :(得分:8)
你不能只是从linux压缩目录。您需要专门为Windows构建。我已经提出了一些指示here。但是,如果您首先在其他平台上进行开发,那么Dirk的解决方案就更简单了。
答案 2 :(得分:0)
如果软件包相当简单,以下功能在Windows上适用于我的软件包" MY_PACKAGE_1.0.tar.gz"使用R生成的(OS:Ubuntu,命令为R CMD build MY_PACKAGE
)
install.packages("MY_PACKAGE_1.0.tar.gz", repos=NULL, type="source")
选项type="source"
是必要的,否则它不起作用。