R - 将'xlsx'包导入我自己的包不起作用



我正在创建自己的软件包。我在其中使用了很多现有软件包,它们起作用。我正在为xlsx软件包使用相同的过程,但它不起作用。我的DESCRIPTION文件中的xlsx中有CC_2。我各自的.r文件中有@import xlsx。我还尝试了具有相同结果的特定功能的@importFrom write.xlsx。我正在使用库devtoolsroxygen2来创建软件包。我的新软件包是构建的,但是如果我继续进行Check,则会发生错误:

Installation failed.
See 'C:/Work/Package/MyPackage.Rcheck/00install.out' for details.
* DONE
Status: 1 ERROR
Warning: running command '"C:/R/R-3.3.3/bin/x64/Rcmd.exe" INSTALL -l "C:/Users/Work/Package/MyPackage.Rcheck" --no-html "C:UsersWorkPackageMyPackage.Rcheck0_pkg_srcMyPackage"' had status 1

checking whether package 'MyPackage' can be installed ... ERROR
Installation failed.
See 'C:/Users/Work/Package/MyPackage.Rcheck/00install.out' for details.
R CMD check results

但是没有来自错误的.out文件。整个文件 MyPackage.Rcheck在检查过程中发生了短时间,但随后消失了。因此,我无法检查.out文件并找到错误。

我还尝试在代码中使用命令library(xlsx)。在这种情况下,构建和检查的过程较少。只有一个警告和一个注意:

WARNING
'library' or 'require' call not declared from: 'xlsx'
'library' or 'require' call to 'xlsx' in package code.
Please use :: or requireNamespace() instead.
See section 'Suggested packages' in the 'Writing R Extensions' manual.
NOTE
MyFunction: no visible global function definition for 'write.xlsx'

,但我知道,如果我想将代码上传到机器上,就不应该有任何警告。

我也知道xlsx软件包具有两个依赖项:rJavaxlsxjars。如果我将它们放入DESCRIPTION文件中的Imports:,并且还使用.R文件中的@import出现相同的问题。我还尝试了使用相同结果的Depends:

谢谢大家的帮助。

通过禁用RSTUDIO选项"成功r CMD检查后,我找到了.out文件。问题在于我的计算机上的爪哇。我正在使用64位版本的R,并且还有64位Java的Java版本。因此,软件包xlsx通常可以工作。但是我在计算机上也安装了32位版本的R,但是没有32位版本的Java。安装后,一切都可以。R的每个版本都必须具有相同版本的Java。一个相反的地方,没有R相反的Java版本。

我在不使用Rstudio的情况下一遍又一遍地运行相同的问题。

我的问题是@importFrom xlsx read.xlsx,在使用read.xlsx的代码中删除此问题并添加呼叫xlsx::read.xlsx('myFile.xlsx', 1),然后运行R -e "devtools::document()正常工作。此后,我再次添加了@importFrom xlsx read.xlsx并删除了xlsx::,然后工作正常。

我认为这可能与首先从xlsx软件包设置配置有关的事情,因为在此之前,我从未从中打过电话。

相关内容

  • 没有找到相关文章

最新更新