首页 > 解决方案 > 无法将包网站(来自 R 的 pkgdown)推送到 GitHub

问题描述

我使用 pkgdown 包为我的包创建了一个新网站,该网站将托管在 Github 上。
我运行了以下代码:

# Run once to configure package to use pkgdown
usethis::use_pkgdown()
# Run to build the website
pkgdown::build_site()

该函数在我的本地仓库pkgdown::build_site中生成了一个子文件夹。docs\您可以在下面的照片中看到(红色箭头)。我需要将此docs\子文件夹推送到我的 Git 存储库,但我不知道为什么docs\子文件夹没有显示在我的Git commit面板上。所以现在我无法在 GitHub 上推送我的网站。
在此处输入图像描述

有人可以帮我找出问题所在吗?以及如何解决这个问题?
我已经pkgdown使用以下命令安装了软件包:

install.packages("pkgdown")

但是,我无法安装 GitHub 的开发版本。是这个原因吗??我尝试安装,但出现以下错误:

# Install development version from GitHub
devtools::install_github("hadley/pkgdown")

##  ERROR: package installation failed
## Error: Failed to install 'pkgdown' from GitHub:
##   System command 'Rcmd.exe' failed, exit status: 1, stdout + stderr (last ## 10 lines):
## E> ** inst
## E> ** byte-compile and prepare package for lazy loading
## E> Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) : 
## E>   namespace 'rlang' 0.4.10 is being loaded, but >= 0.99.0.9000 is required
## E> Calls: <Anonymous> ... withCallingHandlers -> loadNamespace -> namespaceImport -> loadNamespace
## E> Execution halted
## E> ERROR: lazy loading failed for package 'pkgdown'
## E> * removing ## 'C:/Users/dokha/AppData/Local/Temp/Rtmpq0XtDc/Rinst212472df268f/pkgdown'
## E>       -----------------------------------
## E> ERROR: package installation failed
## In addition: There were 12 warnings (use warnings() to see them)

标签: rgithubpackagepkgdown

解决方案


由于我不完全理解的原因,默认情况下use_pkgdown()将 docs/ 文件夹添加到 .gitignore 文件中。这就是为什么它没有出现在您的提交面板中的原因。打开 .gitignore 文件并删除对 docs 的引用(应该在底部),docs 文件夹现在应该出现在您的 .gitignore 中,您可以提交并将其推送到您的 repo。

也许有人pkgdown可以解释为什么当说明说将其用作 GitHub 页面源时忽略 docs 文件夹?

> usethis::use_pkgdown()
✓ Setting active project to '/Users/danovan/packages/marlin'
✓ Adding '^_pkgdown\\.yml$', '^docs$' to '.Rbuildignore'
✓ Adding '^pkgdown$' to '.Rbuildignore'
✓ Adding 'docs' to '.gitignore'

推荐阅读