新手R包开发者knitr README.Rmd时遭遇「找不到函数」错误求助
问题排查与解决方法
先确保包已安装到本地R库:
别只依赖Ctrl+Shift+B构建包,执行devtools::install()(或者在RStudio的Build面板里点Install and Restart)。构建包只是生成二进制文件,但只有安装后,library(test)才能找到最新导出的函数。检查NAMESPACE文件:
运行devtools::document()后,去包根目录看NAMESPACE文件,确认里面有export(hello)这一行。如果没有,说明roxygen2没正确解析@export标签,检查foo.R里的注释块格式是否正确(比如@export是不是在函数的#'注释范围内,有没有拼写错误)。编译前重启R会话:
按Ctrl+Shift+F10重启R,再重新加载包library(test),避免内存里残留旧版本的包导致函数找不到。临时验证方法:
在README.Rmd里把hello()改成test::hello(),如果能运行,说明包已经安装,但library(test)没正确加载,或者有命名空间冲突。
内容的提问来源于stack exchange,提问作者ryoto
相关产品推荐
相关产品推荐

