繁体   English   中英

从 GitHub 加载 R package 时出现“包或命名空间加载失败”错误

[英]"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 上的内容要复杂一些。 以下是步骤:

  • 将 package 分叉到您自己的 Github 帐户(如果您有的话)。 (此步骤是可选的,但它使后面的一些步骤更容易。)
  • 下载 package 的源代码。 In RStudio, the quickest way to do this is to create a new project using Version Control, Git, and give the URL of your forked copy, or the original URL if you skipped that.
  • 在 package 上运行 Roxygen2。 在 RStudio 中,您可以通过在“构建”选项卡的“更多”菜单中选择“文档”来执行此操作。
  • 尝试构建它。 如果幸运的话,它现在可以正常构建。 如果没有,请解决下一个问题。
  • 这非常重要:将您的更改发回给原作者。 如果您分叉了 package,这很容易; 如果没有,想办法做到这一点。

这是 COMMultReg package 的维护者。 直到现在我才知道这个线程,但听起来你可以从user2554330的答案开始。

应该导出函数d_cmbd_cmb_sample等。 我认为问题可能在于,在提出问题时,我没有将src/RcppExports.cppR/RcppExports.R签入 Github。 这似乎是在具有导出 Rcpp 函数的 package 上使用install_github所必需的。 这些是大约 8 个月前登记的。 (巧合的是,这个问题发布后不久?)

如果您仍然遇到安装问题,请告诉我。 否则,享受套餐!

暂无
暂无

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

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