本地R包安装报错use_namespace() not found及相关问题求助
问题1:安装本地R包时提示
use_namespace()找不到 原因
use_namespace()是devtools包的开发工具函数,仅用于包开发阶段,不应该出现在包的正式运行代码中。你的包代码(比如R/src_code_1.R或adhoc.R)里调用了这个函数,但既没在DESCRIPTION声明依赖devtools,更关键的是这个函数不属于包功能的一部分。另外原安装命令缺少闭合引号,也会导致执行异常。
解决方法
- 检查包内所有R脚本,删除或移除
use_namespace()调用,把这类开发用代码移到包目录外。 - 重新用roxygen2构建包:
package_dir = "/direct/path/here/R/RExample/" build(package_dir, path=package_dir)
- 重新安装生成的tar.gz包(补上缺失的闭合引号):
install.packages("/direct/path/here/R/RExample_0.1.0.tar.gz", repos = NULL, type = "source")
问题2:
R CMD check .提示找不到DESCRIPTION文件 原因
运行命令时的工作目录错误,没有定位到包的根目录(即包含DESCRIPTION的RExample文件夹)。另外你的Rproj文件名是RExammple.Rproj(多了一个m),可能切换目录时输错了路径。
解决方法
- 先确认当前工作目录:
getwd()
- 如果不在包根目录,切换到正确路径:
setwd("/direct/path/here/R/RExample/")
- 再运行检查命令:
R CMD check .
或者直接用完整路径运行,无需切换目录:
R CMD check "/direct/path/here/R/RExample/"
内容的提问来源于stack exchange,提问作者sGlow
相关产品推荐
相关产品推荐

