【问题标题】:How to debug failure of installing R package?如何调试安装 R 包失败?
【发布时间】:2019-06-13 13:41:03
【问题描述】:

我正在尝试在 Jupyter 笔记本中安装 CRAN 包(来自镜像),通过 JupyterLab 启动并在 Alpine Linux docker 映像中运行,大多数东西都是使用 conda 安装的。有些包可以工作...

install.packages('ABCanalysis', verbose=TRUE, INSTALL_opts=c('--debug'), repos=...)

...输出...

system (cmd0): /opt/conda/lib/R/bin/R CMD INSTALL --debug 
also installing the dependency 'plotrix'

foundpkgs: plotrix, ABCanalysis, /tmp/RtmpqoorrU/downloaded_packages/plotrix_3.7-4.tar.gz, /tmp/RtmpqoorrU/downloaded_packages/ABCanalysis_1.2.1.tar.gz
files: /tmp/RtmpqoorrU/downloaded_packages/plotrix_3.7-4.tar.gz, 
    /tmp/RtmpqoorrU/downloaded_packages/ABCanalysis_1.2.1.tar.gz
1): succeeded '/opt/conda/lib/R/bin/R CMD INSTALL --debug -l '/opt/conda/lib/R/library' /tmp/RtmpqoorrU/downloaded_packages/plotrix_3.7-4.tar.gz'
2): succeeded '/opt/conda/lib/R/bin/R CMD INSTALL --debug -l '/opt/conda/lib/R/library' /tmp/RtmpqoorrU/downloaded_packages/ABCanalysis_1.2.1.tar.gz'
Updating HTML index of packages in '.Library'
Making 'packages.html' ... done

install.packages('bitops', verbose=TRUE, INSTALL_opts=c('--debug'), repos=...)

...但有些包没有...

install.packages('bitops', verbose=TRUE, INSTALL_opts=c('--debug'), repos=...)

system (cmd0): /opt/conda/lib/R/bin/R CMD INSTALL --debug
foundpkgs: bitops, /tmp/RtmpqoorrU/downloaded_packages/bitops_1.0-6.tar.gz
files: /tmp/RtmpqoorrU/downloaded_packages/bitops_1.0-6.tar.gz
Warning message in install.packages("bitops", verbose = TRUE, INSTALL_opts = c("--debug"), :
"installation of package 'bitops' had non-zero exit status"Updating HTML index of packages in '.Library'
Making 'packages.html' ... done

我怀疑,但不确定,不需要编译工作的包,而那些不需要编译的包。

如何调试它,即如何发现导致非零退出代码的原因? --debugverbose 似乎都没有显示任何有用的信息。

【问题讨论】:

  • 从命令行执行所有安装:从 CRAN 下载 bitops_1.0-6.tar.gz,然后运行 ​​/opt/conda/lib/R/bin/R CMD INSTALL bitops_1.0-6.tar.gz。您将看到更多的安装消息。
  • @user2554330 啊,还有 far 更多信息...例如libc.musl-x86_64.so.1: cannot open shared object file: No such file or directory。随意发布答案
  • ...为了将来参考,设置ENV LD_LIBRARY_PATH=/lib 似乎可以解决安装问题
  • 这看起来像 R 中的一个错误:根据帮助页面,如果你有 keep_outputs = TRUE,我假设你会看到带有 install.packages 的那些消息(可能在当前目录中的文件中) ),但您不会通过这种方式获得更多信息。
  • @user2554330 啊,keep_outputs=TRUE, 也在笔记本中显示信息。也可以随意添加它作为答案:-)

标签: r docker jupyter-notebook conda alpine


【解决方案1】:

使用keep_outputs = TRUE,即

install.packages('bitops', keep_outputs = TRUE, repos=...)

这会将安装的输出保存在当前工作目录中名为 bitops.out 的文件中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-16
    • 2016-01-26
    • 1970-01-01
    • 1970-01-01
    • 2021-01-29
    • 2021-12-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多