readxl::read_excel 中的错误:is_null(n):未找到对象 'rlang_is_null'

Error in readxl::read_excel: is_null(n) : object 'rlang_is_null' not found

尝试运行时给定的示例代码here:

xlsx_example <- readxl_example("datasets.xlsx")
read_excel(xlsx_example)

我收到错误 Error in is_null(n) : object 'rlang_is_null' not found

关于我的 R 会话的信息:

sessionInfo()
R version 3.4.2 (2017-09-28)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

Matrix products: default

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252    LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C                           LC_TIME=English_United States.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] readxl_1.0.0

loaded via a namespace (and not attached):
 [1] Rcpp_0.12.13     lattice_0.20-35  ape_5.0          tidyr_0.7.2      cellranger_1.1.0 grid_3.4.2       plyr_1.8.4      
 [8] jsonlite_1.5     nlme_3.1-131     gtable_0.2.0     magrittr_1.5     scales_0.5.0     ggplot2_2.2.1    rlang_0.1.2.9000
[15] lazyeval_0.2.1   ggtree_1.10.0    rvcheck_0.0.9    treeio_1.2.0     tools_3.4.2      glue_1.2.0       purrr_0.2.4     
[22] munsell_0.4.3    yaml_2.1.14      parallel_3.4.2   compiler_3.4.2   colorspace_1.3-2 tibble_1.3.4 

不过我认为错误指向 rlang package

我也尝试安装旧版本的 readxl 软件包,但我遇到了同样的错误。

install.packages("https://cran.r-project.org/src/contrib/Archive/readxl/readxl_0.1.1.tar.gz", 
                 repos=NULL, type="source")
# or
install.packages("https://cran.r-project.org/src/contrib/Archive/readxl/readxl_0.1.0.tar.gz", 
                 repos=NULL, type="source")

rlang_is_null 是一个 compiled function within rlang。如果 "restarting R"(类比 windows 三指敬礼)没有解决问题,则听起来包安装有问题。

尝试:

  1. 把它移开(最终删除,但如果其他方面仍然有效,我不喜欢删除);

  2. 重新安装 rlang,可能是它的二进制文件(默认);

  3. 如果这不起作用,请考虑编译源代码(假设已安装 Rtools ... 尚未尝试但应该可以正常工作);然后

  4. 重新启动 R。我通常不相信 detachunload 以及随后的 library 来修复带有已编译对象的包的问题(主要在 windows),所以我的建议是干净重启。