r - 运行 rize - R 时包“rJava”的配置失败
问题描述
我正在尝试使用该rize
软件包为 ShinyApp 创建一个 Dockerfile。从rize::shiny_dockerize()
App 目录启动命令。所需的软件包之一是xlsx
(可能它也在尝试安装 rJava)。我收到以下错误:
trying URL 'https://cran.rstudio.com/src/contrib/xlsxjars_0.6.1.tar.gz'
Content type 'application/x-gzip' length 9477071 bytes (9.0 MB)
==================================================
downloaded 9.0 MB
* installing *source* package ‘rJava’ ...
** package ‘rJava’ successfully unpacked and MD5 sums checked
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for string.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for unistd.h... (cached) yes
checking for an ANSI C-conforming const... yes
checking whether time.h and sys/time.h may both be included... yes
configure: checking whether gcc supports static inline...
yes
checking whether setjmp.h is POSIX.1 compatible... yes
checking whether sigsetjmp is declared... yes
checking whether siglongjmp is declared... yes
checking Java support in R... present:
interpreter : '/usr/bin/java'
archiver : '/usr/bin/jar'
compiler : '/usr/bin/javac'
header prep.: '/usr/bin/javah'
cpp flags : '-I/usr/lib/jvm/java-8-openjdk-amd64/jre/../include -I/usr/lib/jvm/java-8-openjdk-amd64/jre/../include/linux'
java libs : '-L/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server -ljvm'
checking whether Java run-time works... ./configure: line 3766: /usr/bin/java: No such file or directory
no
configure: error: Java interpreter '/usr/bin/java' does not work
ERROR: configuration failed for package ‘rJava’
* removing ‘/usr/local/lib/R/site-library/rJava’
Error in i.p(...) :
(converted from warning) installation of package ‘rJava’ had non-zero exit status
Calls: <Anonymous> ... with_rprofile_user -> with_envvar -> force -> force -> i.p
Execution halted
The command '/bin/sh -c R -e "setwd('/srv/shiny-server/app'); automagic::automagic()"' returned a non-zero code: 1
Error in rize::shiny_dockerize() : object 'view_app' not found
有谁我可以把它放在rize
包里工作吗?
解决方案
看起来您在设置 Java 的正确位置时遇到了问题。请注意,让自己R
开心Java
可能会有点困难。
看看这里:http ://www.owsiak.org/r-java-11-and-making-sure-you-can-load-rjava/示例。它是macOS
基于的,但仍然应该可以正常工作。
基本上,您想要做的是设置您在安装JAVA_HOME
时指向的这种方式。Java
完成后,您可以R cmd javareconf
像这样运行
> sudo R CMD javareconf \
JAVA_HOME=${JAVA_HOME} \
JAVA=${JAVA_HOME}/bin/java \
JAVAC=${JAVA_HOME}/bin/javac \
JAVAH=${JAVA_HOME}/bin/javah \
JAR=${JAVA_HOME}/bin/jar
确保您已经gcc
安装并且可以编译简单的C
代码。
推荐阅读
- business-objects - SAP 业务对象设计工作室中的转置交叉表
- python - 在 Windows 上使用 pip 安装 virtualenv 时出错
- javascript - 如何在 REST Web 服务中持久化 javascript console.log(通过重载)?
- c# - RingCentral 来电通知
- python - 附加到列表但列表仅返回最后一个值
- ibm-midrange - RPGLE 如何使用 SETLL 和 READE 查找键域的重复记录
- java - Java 类型推断错误
- azure - Azure 事件网格 - Webhook 订阅身份验证和 DDOS 保护
- html - 在句子中定义一个不是主要主题的术语
- java - ExceptionInInitializerError - 静态最终变量