繁体   English   中英

在 Mac OS X 上安装 RMySQL 以在 Docker 中运行时出错

[英]Error installing RMySQL to run in Docker on Mac OS X

I am trying to run MySQL in an R script running inside a Docker (actually Rocker) container, but am getting an error on the “install_packages(…” step. The only solution I found that was somewhat similar was specific to running RedHat Linux (我正在运行 Mac OS X 10.15),解决方案包括指向几个我没有的目录。在 RStudio 下或从命令行运行,RMySQL 加载没有问题。

Dockerfile:

FROM rocker/r-ver:latest
  
RUN mkdir /home/analysis

COPY install_packages.R /home/analysis/install_packages.R
COPY script_basic.R /home/analysis/script_basic.R

RUN Rscript /home/analysis/install_packages.R

CMD Rscript /home/analysis/script_basic.R

R 文件:

script_basic.R

library( RMySQL )

install_packages.R

install_packages(“RMySQL”)

命令和响应:

$ docker build -t myapp .

…
Successfully tagged myapp:latest

$ docker run -it --rm myapp
Loading required package: DBI
Error: package or namespace load failed for ‘RMySQL’ in dyn.load(file, DLLpath = DLLpath, ...):
 unable to load shared object '/usr/local/lib/R/site-library/RMySQL/libs/RMySQL.so':
  libmysqlclient.so.21: cannot open shared object file: No such file or directory
Execution halted
$ 



我相信rocker/r-dev不包含运行它所需的库。 未经测试,但尝试这样的事情。

Dockerfile

FROM rocker/r-ver:latest
  
RUN mkdir /home/analysis

RUN apt-get update \
  && apt-get install -y --no-install-recommends libmariadbclient-dev

COPY install_packages.R /home/analysis/install_packages.R
COPY script_basic.R /home/analysis/script_basic.R

RUN Rscript /home/analysis/install_packages.R

CMD Rscript /home/analysis/script_basic.R

您可以在https://cran.r-project.org/web/packages/RMySQL/index.html上找到对某些库的需求,如

SystemRequirements:     libmariadb-client-dev | libmariadb-client-lgpl-dev | libmysqlclient-dev (deb), mariadb-devel (rpm), mariadb | mysql-connector-c (brew), mysql56_dev (csw)

以及如何在RMySQL的 github README.md安装部分中安装它们的说明。

(CRAN 页面引用libmysqlclient-dev ,但 github 页面建议“mariadb 实现要好得多” 。我不知道该声明的前提,只是解释为什么我建议一个而 CRAN 列出另一个。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM