lab*_*rat 6 r devtools roxygen2
包开发初学者在这里!
我正在尝试第一次将一些代码转换为本地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`.
Run Code Online (Sandbox Code Playgroud)
如果使用,问题仍然存在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
Run Code Online (Sandbox Code Playgroud)
看来,在默认情况下,devtools::install()所有的包检查列为下的依赖Depends,Imports并LinkingTo在在DESCRIPTION文件中(参见解释dependencies = NA选项devtools参考手册这里)。这也适用于remotes::install_local(),devtools::install_local()链接到。
对此的解决方案是显式禁用检查包依赖项:如果devtools::install("my_local_package", dependencies = FALSE)改为使用,则不再需要连接到api.github.com. 当您知道已经安装了必要的依赖项时,这样做是有意义的,当您对自己的代码进行 R 打包时就是这种情况。
(另外值得注意的是:默认选项devtools::install()需要互联网连接才能安装任何软件包,但通过设置dependencies = FALSE,也可以离线安装本地软件包!)