【问题标题】:Creating package for Mac in Windows / Linux在 Windows / Linux 中为 Mac 创建包
【发布时间】:2012-05-02 19:04:36
【问题描述】:

我正在努力自己制作一个 r 包。我按照how to develop package for layman 的stackoverflow 中上一个问题中的说明进行操作。这是我在上一个问题之后使用的步骤。

  1. 在新的 R 会话中运行 R 代码

    # random DNA function
    randDNA = function(n){
    paste(sample(c("A", "C", "T", "G"), n, replace = TRUE), collapse = "")
    }
    # DNA to RNA function
    dna2rna <- function(inputStr) {
      if (!is.character(inputStr))
        stop("need character input")
      is = toupper(inputStr)
      chartr("T", "U", is)
    }
    
    # complementary sequence function
    compSeq <-  function(inputStr){
     chartr("ACTG", "TGAC", inputStr)
     }
    
    # example data
    dnaseq1 <- c("ATTGTATCTGGGTATTTCCCTTAATTGGGGCCTTT")
    dnaseq2 <- c("TGGGGTAAACCCGGTTTAAAATATATATATTTTT")
    myseqdata <- data.frame(dnaseq1, dnaseq2)
    save(myseqdata, file = "myseqdata.RData")
    
  2. 安装Rtools安装R包utils

  3. Pefrom R 中的以下任务

    require(utils)
    package.skeleton(list = c("randDNA","dna2rna", "compSeq", "myseqdata"), 
    name = "dnatool",environment = .GlobalEnv, path = "c:", force = FALSE)
    
  4. 在 Windows 7 中编辑系统环境变量路径以跟踪

    C:\Rtools\bin;C:\Rtools\perl\bin;C:\Rtools\MinGW\bin; 
    C:\Program Files\R\R-2.14.2\bin\x64; 
    

    (在命令行输入&gt;path检查路径是否设置正确。

  5. 复制步骤(3)中的文件夹 dnatool 并放入名为 rpackage 的新文件夹,现在将目录更改为该文件夹(在 DOS 中)

    c: \ repackage>  R CMD build dnatool 
    c: \ repackage>  Rcmd build dnatool 
    

    编辑:我有时会得到 dnatool.zip,但有时会得到 dnatool.tar.gx

  6. 在命令行(DOS)中检查包

    c: \ repackage> R CMD check dnatool
    

我能够在 Windows 中将其打包为“dnatool.zip”。

如何编译 MAC 或 unix 源代码?有哪些不同的步骤?

Unix source:     dnatool.tar.gz
Mac OS X binary: dnatool.tgz

我需要 Mac 电脑吗?我确实有linux virtualbox并在其中安装了ubuntu?

编辑:

我应该使用以下逗号从步骤 (3) 文件夹 dnatool 中获取源代码二进制文件吗?

$ tar -zcvf dnatool.tar.gz/home/dnatool

【问题讨论】:

    标签: linux macos r package


    【解决方案1】:

    使用R CMD build 创建的软件包可以安装在其他操作系统类型上。即使您的包包含 R(c 或 c++)以外的源代码,情况也是如此。仅当您创建二进制分发版时(我认为通过将 --binary 添加到 r cmd 构建调用),该包才成为特定于平台的。构建包所需的工具通常已经安装在 linux 或 mac 下。因此,如果您创建一个源代码发行版,它应该可以在所有主要发行版下工作。要创建 mac 二进制文件,您需要一个 mac,或者创建一个交叉编译器环境。第二个选项可能是一个相当大的挑战,我说你可以给谷歌。请注意,如果您将包上传到 CRAN,则所有包的构建都已为您完成。

    【讨论】:

    • 谢谢,你的意思是“dnatool.zip”可以在unix环境中使用吗?
    • "请注意,如果您将包上传到 CRAN,则所有包的构建都已为您完成。"应该将什么加载到 CRAN 中?对不起,一个简单的问题
    • zip 文件是 Windows 二进制文件,只需创建一个源代码分发版 (tar.gz),在 Windows、Mac 或 Linux 下应该没问题。请注意,在这种情况下,用户需要安装构建工具。但是,在 Linux 下经常出现这种情况,而在 Mac 和 Windows 下,安装它们非常容易。一旦您的软件包在 CRAN 上(如果您计划这样做),所有这些问题都会消失,用户可以使用 install.packages 安装它。
    • 您可以将您的软件包的源代码分发上传到 CRAN 的 FTP 服务器,如果它通过检查,它将在 CRAN 中可用,从而可以使用 install.packages 进行安装。如果您的软件包仍处于试验阶段,您也可以将其托管在 R-forge 上。这是 R 包的 github/sourceforge/bitbucket 式站点。在 R-forge 中,也可以直接从 R 命令行安装包。
    • 我可以在步骤(3)中转换 dnatool 转换为 tar.gz。它可以工作还是可以安装在 unix 或 mac os 环境中?
    猜你喜欢
    • 2011-01-20
    • 2019-06-05
    • 2021-08-21
    • 2015-11-28
    • 2011-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多