Я пытаюсь создать собственный R-пакет. Вчера вечером все работало нормально, но после некоторых незначительных изменений в функции сегодня devtools::check
завершается с ошибкой, как показано ниже (ссылка на файл журнала, на который есть ссылка, дает ту же информацию, что и в разделе -- Install failure --
приведенной ниже ошибки):
>devtools::check(pkg_path)
Updating JTools documentation
Writing NAMESPACE
Loading JTools
Welcome to my package of custom functions. They're grRreat!
Writing NAMESPACE
-- Building ---------------------------------------------------------- JTools --
Setting env vars:
* CFLAGS : -Wall -pedantic
* CXXFLAGS : -Wall -pedantic
* CXX11FLAGS: -Wall -pedantic
--------------------------------------------------------------------------------
√ checking for file 'B:\shared_with_VM\programming\R\Packages\JTools/DESCRIPTION' ...
- preparing 'JTools':
√ checking DESCRIPTION meta-information ...
- checking for LF line-endings in source and make files and shell scripts
- checking for empty or unneeded directories
Removed empty directory 'JTools/test'
- building 'JTools_0.0.0.9000.tar.gz'
-- Checking ---------------------------------------------------------- JTools --
Setting env vars:
* _R_CHECK_CRAN_INCOMING_REMOTE_: FALSE
* _R_CHECK_CRAN_INCOMING_ : FALSE
* _R_CHECK_FORCE_SUGGESTS_ : FALSE
-- R CMD check -----------------------------------------------------------------------
- using log directory 'C:/Users/JT/AppData/Local/Temp/RtmpGKWqcq/JTools.Rcheck'
- using R version 3.6.1 (2019-07-05)
- using platform: x86_64-w64-mingw32 (64-bit)
- using session charset: ISO8859-1
- using options '--no-manual --as-cran'
√ checking for file 'JTools/DESCRIPTION' ...
- this is package 'JTools' version '0.0.0.9000'
- package encoding: UTF-8
√ checking package namespace information
√ checking package dependencies (1.5s)
√ checking if this is a source package ...
√ checking if there is a namespace
√ checking for .dll and .exe files
√ checking for hidden files and directories ...
√ checking for portable file names ...
E checking whether package 'JTools' can be installed (2.9s)
Installation failed.
See 'C:/Users/JT/AppData/Local/Temp/RtmpGKWqcq/JTools.Rcheck/00install.out' for details.
See
'C:/Users/JT/AppData/Local/Temp/RtmpGKWqcq/JTools.Rcheck/00check.log'
for details.
-- R CMD check results ---------------------------------------- JTools 0.0.0.9000 ----
Duration: 4.8s
> checking whether package 'JTools' can be installed ... ERROR
See below...
-- Install failure -------------------------------------------------------------------
* installing *source* package 'JTools' ...
** using staged installation
** R
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded from temporary location
*** arch - i386
Error: package or namespace load failed for 'JTools':
.onLoad failed in loadNamespace() for 'rJava', details:
call: inDL(x, as.logical(local), as.logical(now), ...)
error: unable to load shared object 'C:/Program Files/R/R-3.6.1/library/rJava/libs/i386/rJava.dll':
LoadLibrary failure: %1 is not a valid Win32 application.
Error: loading failed
Execution halted
*** arch - x64
ERROR: loading failed for 'i386'
* removing 'C:/Users/JT/AppData/Local/Temp/RtmpGKWqcq/JTools.Rcheck/JTools'
1 error x | 0 warnings √ | 0 notes √
Я проверил, что мой компьютер, R и Java все 64-битные версии:
> system("java -version")
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
[1] 0
> R.Version()
$platform
[1] "x86_64-w64-mingw32"
$arch
[1] "x86_64"
$os
[1] "mingw32"
$system
[1] "x86_64, mingw32"
$status
[1] ""
$major
[1] "3"
$minor
[1] "6.1"
$year
[1] "2019"
$month
[1] "07"
$day
[1] "05"
$`svn rev`
[1] "76782"
$language
[1] "R"
$version.string
[1] "R version 3.6.1 (2019-07-05)"
$nickname
[1] "Action of the Toes"
> .Machine$sizeof.pointer
[1] 8
Я попытался обновить Java и удалить / переустановить rJava
, но безрезультатно. Основываясь на предложениях здесь и здесь Я проверил переменную среды Java:
> Sys.getenv("JAVA_HOME")
[1] ""
Но я все еще получаю ту же ошибку