R CMD检查中的错误:需要软件包,但不可用

问题描述 投票:6回答:2

我正在尝试创建一个包。它取决于几个软件包。我将导入添加到名称空间文件中,并将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.

我经历了R扩展的写作,但是对于如何解决我的问题我无法获得很多见识。

r packaging
2个回答
3
投票

现在正在工作。

我所做的是:

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

0
投票

我有同样的问题,因为已安装软件包,但用于不同的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的非常简单的应用程序以在版本之间进行即时切换(您仍然需要使用.rs.restartR()重新启动R会话
© www.soinside.com 2019 - 2024. All rights reserved.