R语言 关于cmdstanr安装二三事

突然有任务要跑一个R语言的程序。然而我从未碰过R语言,只能是硬着头皮先本地配环境试验一下。问题真是一重又一重。。。

先记录下来一些问题的处理过程,仅供参考。有些东西可能是歪打正着,还没来得及摸清真正原因,如有错误请见谅。

程序中有用到一个包cmdstanr,但是我的环境中没有,直接使用普通的命令安装会报错:

命令:install.packages("cmdstanr", repos="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")

报错:package ‘cmdstanr’ is not available (for R version ...

 

查询资料发现是因为CRAN中没有这个包。。。(参考 Getting started with CmdStanR

直接从cmdstanr的官方地址下载,代码如下:

install.packages("cmdstanr", repos = c("https://mc-stan.org/r-packages/", getOption("repos")))

使用cmdstanr需要先安装CmdStan。上一步完成后,可以使用命令:

check_cmdstan_toolchain()

如无报错,即可安装CmdStan:

install_cmdstan(cores = 2)

 

然而,在 check_cmdstan_toolchain() 这一步我手贱中断了一次,再次执行该代码时,报出如下错误:

error: failed to update mingw32 (unable to lock database)
error: failed to update mingw64 (unable to lock database)
error: failed to synchronize all databases

于是又一次通过查资料找到疑似解决办法:删除rtools环境目录下的/var/lib/pacman/db.lck文件。(参考 github: pacman -Syu Does Nothing #1298

但是这一次,我在根据一些资料测试时,直接在rtools bash里使用命令:https://github.com/msys2/MSYS2-packages/issues/1298

pacman -Syu mingw-w64-x86_64-make

直接安装了mingw64。

这貌似导致了再使用 check_cmdstan_toolchain() 时报错冲突:

Other C++ toolchains installed on your system conflict with RTools.

烦躁。。。

然后发现,可以这样做:(参考 Problem with cmdstanr in Win 10 . C++ installed conflict with Rtools

install_cmdstan(check_toolchain = FALSE)

这下居然可以使用cmdstanr了,但是冲突问题并没有解决,感觉埋下了一颗定时炸弹,以后再挖吧。

 

参考:

[1] Getting started with CmdStanR :https://mc-stan.org/cmdstanr/articles/cmdstanr.html

[2] github: pacman -Syu Does Nothing #1298:https://github.com/msys2/MSYS2-packages/issues/1298

[3] Problem with cmdstanr in Win 10 . C++ installed conflict with Rtools:https://discourse.mc-stan.org/t/problem-with-cmdstanr-in-win-10-c-installed-conflict-with-rtools/19430

posted @ 2021-02-03 12:11  DGSX  阅读(1272)  评论(1编辑  收藏  举报