【问题标题】:Unable to push Package Website (pkgdown from R) to GitHub无法将包网站(来自 R 的 pkgdown)推送到 GitHub
【发布时间】:2021-11-29 02:33:39
【问题描述】:

我使用 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)

【问题讨论】:

  • 重新pkgdown安装,尝试安装兼容版本的rlang
  • 试试devtools::install_github("r-lib/pkgdown")
  • @ViviG @walter 我已经尝试了hadleyr-lib 的两个版本,我都收到了错误消息。 :(
  • 我刚刚在您的错误消息中注意到这一点:namespace 'rlang' 0.4.10 is being loaded, but &gt;= 0.99.0.9000 is required。你真的应该考虑更新你的 R Studio(或者只是 rlang,但你的 RStudio 几乎肯定已经过时了)

标签: r github package pkgdown


【解决方案1】:

由于我不完全理解的原因,默认情况下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'

【讨论】:

  • 完美!我刚刚检查了 .gitignore 文件,删除了 docs,它就像一个魅力!非常感谢。干杯:)
  • 好的,我现在看到,如果您通过 GitHub 发布,首选方法是使用 usethis::use_pkgdown_github_pages() 而不是推送 docs 文件夹,但只要不推送 docs 文件夹,它就可以正常工作巨大的pkgdown.r-lib.org/articles/pkgdown.html#publishing
猜你喜欢
  • 1970-01-01
  • 2023-03-27
  • 2018-02-27
  • 2022-11-25
  • 2012-11-23
  • 2019-04-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多