[英]"package or namespace load failed" error in loading R package from GitHub
我正在尝试从 GitHub 加载 RStudio 中的 package ,但出现错误。 我还更新了所有软件包以查看这是否是问题所在,但我仍然遇到相同的错误。 我有一台 MAC 电脑(我不知道这是否会导致一些问题)。
我要加载的package的链接是: https://github.com/andrewraim/COMMultReg
并且写到为了加载它我需要运行
library(devtools)
install_github("andrewraim/COMMultReg")
但是当我运行第二行时,我得到了错误:
** building package indices
** testing if installed package can be loaded from temporary location
Error: package or namespace load failed for ‘COMMultReg’ in namespaceExport(ns, exports):
undefined exports: d_cmb, d_cmb_sample, d_cmm, d_cmm_sample, gunterize, loglik_score_fim_cmm, normconst_cmb, normconst_cmm, r_cmb
Errore: loading failed
Esecuzione interrotta
ERROR: loading failed
* removing ‘/Library/Frameworks/R.framework/Versions/4.0/Resources/library/COMMultReg’
Warning message:
In i.p(...) :
installation of package ‘/var/folders/n0/4lmr1lrj7qqfylmh6s8qx0nr0000gn/T//RtmpldrmHr/file72e1e4469d/COMMultReg_0.1.0.tar.gz’ had non-zero exit status
有人可以帮我告诉我该怎么做吗? 谢谢!!
package 没有名为d_cmb
,但它试图导出 function。 这就是错误消息所说的,这是真的。
我认为这个错误的原因是作者使用 Roxygen2 生成了他的NAMESPACE
文件,其中声明了导出,但该文件与 package 的内容不同步。
这可能是因为作者忘记提交包含新代码的新文件。 在这种情况下,最好的解决方案是联系作者,并指出问题。
或者,它可能已经发生,因为曾经有一个d_cmb
function,但是作者删除了它,没有更新NAMESPACE
文件。 这个你也许可以自己解决。
要解决此问题,您需要自己运行 Roxygen2,这比仅安装 Github 上的内容要复杂一些。 以下是步骤:
这是 COMMultReg package 的维护者。 直到现在我才知道这个线程,但听起来你可以从user2554330
的答案开始。
应该导出函数d_cmb
、 d_cmb_sample
等。 我认为问题可能在于,在提出问题时,我没有将src/RcppExports.cpp
和R/RcppExports.R
签入 Github。 这似乎是在具有导出 Rcpp 函数的 package 上使用install_github
所必需的。 这些是大约 8 个月前登记的。 (巧合的是,这个问题发布后不久?)
如果您仍然遇到安装问题,请告诉我。 否则,享受套餐!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.