将Travis与R和RJAVA一起使用



我有一个取决于rjava的R软件包。我正在使用r支持travis

language: r
sudo: required
warnings_are_errors: true
r_github_packages:
 - keboola/redshift-r-client

,但失败而失败:

Error : .onLoad failed in loadNamespace() for 'rJava', details:
  call: dyn.load(file, DLLpath = DLLpath, ...)
  error: unable to load shared object '/usr/local/lib/R/site-library/rJava/libs/rJava.so':
  libjvm.so: cannot open shared object file: No such file or directory

完成日志:https://travis-ci.org/keboola/provisioning-r-client/builds/61021633

我尝试添加:

apt_packages:
 - openjdk-7-jre

jdk:
- oraclejdk8

,但似乎没有任何作用。

解决方案1:

language: r
sudo: required
apt_packages:
 - r-cran-rjava

解决方案2:

language: r
sudo: required
apt_packages:
 - openjdk-7-jre
before_install:
 - export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/jre
 - export PATH=$PATH:$JAVA_HOME/bin
 - export LD_LIBRARY_PATH=/usr/lib/jvm/java-8-oracle/lib/amd64:/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server
 - sudo R CMD javareconf 

请尝试直接通过apt-get

直接安装r-cran-rjava

这里有许多问题与r-cran-rjava有关,因此一眼也可能会有所帮助。此软件包的Build-Depends当前为default-jdkDependsopenjdk-7-jre | default-jre上。依靠包裹应该为您提供帮助。

fwiw我仍然使用以前的travis设置,因为我发现它的加载速度更快。

最新更新