【问题标题】:Error: could not find function "lang_unnamespace"错误:找不到函数“lang_unnamespace”
【发布时间】:2018-07-31 06:42:05
【问题描述】:

我收到错误here in this Travis build,我无法在本地重现它。是的,我意识到我没有最小的可重现示例,但我知道它发生在tidyselect::vars_select() 中。有没有其他人遇到过这个?我在 Google 搜索中找不到任何提及 lang_unnamespace() 的内容。

【问题讨论】:

  • 如果我运行getAnywhere("lang_unnamespace"),我发现它来自rlang 包。它不是从该包中导出的,因此不能直接使用。
  • 嗯...当我运行getAnywhere("lang_unnamespace") 时,我看到no object named 'lang_unnamespace' was found"。我有rlang 0.2.0。你呢?
  • 我正在运行rlang_0.1.4

标签: r tidyverse rlang tidyselect


【解决方案1】:

查看是否修改您的 travis yaml 以包含 tidyverse 包的开发版本帮助。

看起来你没有直接调用rlang::lang_unnamespace(),对吗?该函数似乎已被删除,但tidyselect::vars_select() 仍在尝试调用它。

我随意回到年初看到这个old version

today's version 中甚至不存在该文件。

【讨论】:

  • 正确,我没有直接打电话给rlang::lang_unnamespace()。这很奇怪:无论是在本地还是在 Travis 上,都安装了 rlang 0.2.0 和 tidyselect 0.2.3。清除 Travis 缓存似乎会导致第一组 bulids 正常完成,但之后的那些则以相同的错误退出。
  • 昨天在 CRAN 上更新了很多 tidyverse 包。 Travis 可能从不同的服务器中提取,具有不同的版本。如果您指定开发位置(在本例中为 GitHub),您可能会获得一致的版本。在docs.travis-ci.com/user/languages/r 中使用r_github_packages 参数。
  • 既然你提到了它,我看到rlang CRAN 检查是 0.1.6 和 0.2.0 之间的混合。我可能只需要稍等一下。
  • Travis 上的错误消失了,但现在在 AppVeyor 上:ci.appveyor.com/project/ropensci/drake/build/1.0.564
猜你喜欢
  • 2015-07-26
  • 2016-05-20
  • 2015-09-06
  • 2017-12-07
  • 2020-02-04
  • 1970-01-01
相关资源
最近更新 更多