我正在尝试构建R软件包,但似乎软件包依赖关系存在一些问题。如果我在R中运行代码,则需要包“rgdal”和“rgeos”,因此要从中创建包,我:

  • 在 namespace 文件
  • 中添加了“import(rgdal,rgeos)”行
  • 在描述文件
  • 中添加了“Depends:rgeos,rgdal”行

    当我运行R CMD检查(生成后)时,出现错误消息:
    * checking package dependencies ... ERROR
    Benötigte, aber nicht verfügbare Pakete:
      'rgeos' 'rgdal'
    
    See the information on DESCRIPTION files in the chapter 'Creating R
    packages' of the 'Writing R Extensions' manual.
    

    错误的德语部分:“Benötigte,需要,但没有可用的软件包”。

    我已经阅读了所提到的手册,并且了解使用导入,建议或增强的选项,但是我敢肯定,这取决于我必须使用的选项,因为在代码的功能中,我正在使用外部功能这两个包中的一个。

    我究竟做错了什么?

    最佳答案

    R认为您的系统上没有软件包。

    现在您当然知道您知道。有什么区别?

    好吧,您可能将它们安装在R CMD check不会查看的另一个目录中。解决此问题的一种方法在“R Internals”手册的第7节“工具”(从“Writing R Extensions”中引用)中进行了描述,并使用文件~/.R/checkEnviron设置了在R CMD check期间使用的环境变量。

    例如,我有

    # edd Apr 2003  Allow local install in /usr/local, also add a directory for
    #               Debian packaged CRAN packages, and finally the default dir
    # edd Jul 2007  Now use R_LIBS_SITE, not R_LIBS
    R_LIBS_SITE=${R_LIBS_SITE-'/usr/local/lib/R/site-library:'
                              '/usr/lib/R/site-library:/usr/lib/R/library'}
    

    我刚刚打破了一条长长的线(中间没有两个撇号)。

    关于R包依赖,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10146348/

    10-09 22:28