R CMD检查错误:需要包但不可用

时间:2013-01-16 12:46:01

标签: r packaging

我正在尝试创建一个包。这取决于几个包。我将导入添加到命名空间文件中,并将Depends添加到描述文件中。

我找到了可能的解决方案herehere,但这些都没有用 - 我想是因为我在CentOS上。

这就是我在屏幕上看到的内容:

[hadoop@localhost RProjects]$ sudo R CMD check TextPreProcess
* using log directory ‘/home/hadoop/RProjects/TextPreProcess.Rcheck’
* using R version 2.15.1 (2012-06-22)
* using platform: x86_64-redhat-linux-gnu (64-bit)
* using session charset: UTF-8
* checking for file ‘TextPreProcess/DESCRIPTION’ ... OK
* checking extension type ... Package
* this is package ‘TextPreProcess’ version ‘1.0’
* checking package namespace information ... OK
* checking package dependencies ... ERROR
Packages required but not available:
  ‘RWeka’ ‘Snowball’ ‘lsa’ ‘plyr’ ‘snowfall’ ‘tau’ ‘tm’

See the information on DESCRIPTION files in the chapter ‘Creating R
packages’ of the ‘Writing R Extensions’ manual.

我经历了写作延伸,但我无法从如何解决问题中获得很多见解。

2 个答案:

答案 0 :(得分:3)

现在正在运作。

我做的是:

  1. ~/R/x86_64-redhat-linux-gnu-library/2.15添加到.libPaths(这就是我的R库所在的位置)
  2. 分离R
  3. 中的所有库
  4. 重新启动R会话。 (对于多个会话,请关闭所有会话。)
  5. 安装所需的软件包。
  6. 检查Imports&导出在命名空间文件中是正确的。
  7. 检查说明文件中是否有必需的字段。确保在“取决于”,“导入”,“建议”和“增强”之间处理所有依赖关系。
  8. 检查了一下。 R CMD check <pkg>。建造它。 R CMD build <pkg>。安装好了。 R CMD INSTALL <tarball>
  9. 完成。

答案 1 :(得分:1)

我遇到了同样的问题,因为安装了软件包,但安装了不同的R版本

为解决此问题,我打开了旧的R版本(该程序包所基于的版本),并安装了该版本下缺少的程序包,此问题得以解决。

例如

# Version should match the version your package was built in
R.version
# 3.5.1

install.packages(c('stringr', 'lubridate', 'testthat'))

提示

  • 如果需要检查R版本,只需键入R.version
  • 如果您需要切换R版本,请在Windows或Mac上启动RStudio时保持控制,然后下载名为rswitch的非常简单的应用程序以在版本之间进行即时切换(您仍然需要使用{{1}重新启动R会话}