如何在已存在Git仓库的GitHub私有库根目录创建并发布R包
R包骨架生成解决方案
核心思路:无需在仓库内嵌套新项目,直接将现有Git仓库根目录转换为R包根目录,调整原有.Rproj配置即可完成骨架生成,不会影响现有Git仓库的版本记录。
前置准备
- 安装R包开发必备工具:
install.packages("usethis") - 提交本地仓库所有未同步的改动,将根目录下原有
.Rproj文件备份到本地其他路径,避免配置丢失
具体操作步骤
- 打开R控制台,将工作路径切换到克隆的本地仓库根目录:
setwd("your/local/path/my_git_repo") - 在当前根目录直接生成R包标准骨架,跳过新RStudio项目创建流程:
usethis::create_package(path = ".", rstudio = FALSE, open = FALSE)
参数说明:path = "."指定当前目录为包根目录,rstudio = FALSE不生成新的.Rproj文件避免冲突,open = FALSE生成后不自动跳转新项目 - 调整原有.Rproj的配置,适配R包开发要求:
打开备份后保留在根目录的原有.Rproj文件,添加/修改以下配置项:BuildType: Package
PackageUseDevtools: Yes
PackageInstallArgs: --no-multiarch --with-keep.source
PackageRoxygenize: rd,collate,namespace - 验证包结构:执行完上述操作后,根目录会自动生成
DESCRIPTION、NAMESPACE、R/、man/等R包标准目录与文件,原有仓库的文件不会被覆盖 - 改动验证无误后,将新生成的包相关文件提交到Git仓库,即可和协作者共同进行R包开发
可选简化操作
如果不需要保留原有.Rproj的自定义配置,可以直接执行usethis::create_package(path = ".", rstudio = TRUE, open = FALSE),自动生成R包专用的.Rproj文件覆盖原有文件,无需手动修改配置。
内容的提问来源于stack exchange,提问作者JaFranke
相关产品推荐
相关产品推荐

