8

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

我在这里这里找到了可能的解决方案,但这些都不起作用——我想是因为我在 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 扩展,但我无法获得很多关于如何解决我的问题的见解。

4

2 回答 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. 完毕。
于 2013-01-17T08:20:30.087 回答
2

我遇到了同样的问题,因为安装了软件包但针对不同的 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 上启动 RStudio 时保持控制,或者在 Mac 上下载一个名为RSwitch的非常简单的应用程序以立即在版本之间切换(您仍然需要重新启动 R 会话.rs.restartR()
于 2020-01-24T10:30:50.047 回答