我正在创建自己的软件包。我在其中使用了很多现有软件包,它们起作用。我正在为xlsx
软件包使用相同的过程,但它不起作用。我的DESCRIPTION
文件中的xlsx
中有CC_2。我各自的.r文件中有@import xlsx
。我还尝试了具有相同结果的特定功能的@importFrom write.xlsx
。我正在使用库devtools
和roxygen2
来创建软件包。我的新软件包是构建的,但是如果我继续进行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.Rcheck 0_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
软件包具有两个依赖项:rJava
和xlsxjars
。如果我将它们放入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
软件包设置配置有关的事情,因为在此之前,我从未从中打过电话。