"API rate limit exceeded" 尝试使用 devtools::install() 安装本地 R 包时

"API rate limit exceeded" when trying to install local R package using devtools::install()

包开发新手在此!

我第一次尝试将一些代码转换为本地 R 包。我使用 usethis::create_package() 制作了一个包,使用 devtools::document() 添加了文档。

现在,在试用了一段时间后,我 运行 在尝试使用 devtools::install() 安装最新版本时遇到以下错误:

Error: HTTP error 403.
  API rate limit exceeded for [my IP]. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)

  Rate limit remaining: 0/60
  Rate limit reset at: 2019-03-18 16:32:05 UTC

  To increase your GitHub API rate limit
  - Use `usethis::browse_github_pat()` to create a Personal Access Token.
  - Use `usethis::edit_r_environ()` and add the token as `GITHUB_PAT`.

如果我使用devtools:install_local("my_folder_name"),问题仍然存在。真正让我感到困惑的是,我通过尝试安装位于本地文件夹中的软件包来达到 GitHub 速率限制。

是我在包设置中犯了错误,还是使用 devtools::install() 总是涉及 GitHub API? 有什么我可以更改的,以将我的软件包的安装过程保持在本地,从而避免速率限制问题?

编辑: 我的 DESCRIPTION 文件引用了其他包:

Depends: 
    R (>= 3.4.3),
    dplyr
Imports:
    RMariaDB,
    dbplyr,
    DBI,
    reshape2,
    RColorBrewer,
    knitr,
    kableExtra,
    scales,
    magrittr,
    DT,
    formattable,
    testthat,
    ggplot2,
    rmarkdown

似乎默认情况下,devtools::install() 检查 DESCRIPTION 文件中 DependsImportsLinkingTo 下列为依赖项的所有包(请参阅 devtools 参考手册中 dependencies = NA 选项的解释 here)。 remotes::install_local() 也是如此,devtools::install_local() 链接到。

解决此问题的方法是显式禁用检查包依赖性:如果您改用 devtools::install("my_local_package", dependencies = FALSE),则不再需要连接到 api.github.com。当您知道您已经安装了必要的依赖项时,这样做是有意义的,当您对自己的代码进行 R 打包时就是这种情况。

(另外值得注意:devtools::install() 中的默认选项需要互联网连接才能安装任何软件包,但通过设置 dependencies = FALSE,也可以离线安装本地软件包!)