在RStudio中使用bookdown::publish_book配置bookdown.org账户报错求助
Fixing "Error in response$token_claim_url : $ operator is invalid for atomic vectors" when connecting to bookdown.org
这个错误我之前帮人排查过,大多是rsconnect包和bookdown.org服务器交互时的配置或版本兼容问题,试试下面这几个解决方案:
更新rsconnect和bookdown到最新版本
旧版本的rsconnect可能对bookdown.org的API支持不完善,先把两个包更到最新:install.packages(c("rsconnect", "bookdown"))如果稳定版还是不行,试试安装GitHub上的开发版:
remotes::install_github("rstudio/rsconnect") remotes::install_github("rstudio/bookdown")清除rsconnect的本地配置缓存
本地的配置缓存损坏也会导致这个问题,找到rsconnect的配置目录删除所有文件:- Windows系统:路径是
%APPDATA%/R/rsconnect - macOS/Linux系统:路径是
~/.rstudio/rsconnect或~/.config/R/rsconnect
删除后重新运行rsconnect::connectUser(server = 'bookdown.org')试试。
- Windows系统:路径是
检查网络代理设置
如果你的网络需要代理,可能会干扰R和bookdown.org的通信:- 可以临时在R中设置代理(替换成你的代理地址):
Sys.setenv(http_proxy = "http://your-proxy:port", https_proxy = "http://your-proxy:port") - 或者在RStudio的全局选项里配置:
Tools -> Global Options -> Packages -> Proxy
- 可以临时在R中设置代理(替换成你的代理地址):
手动配置账户(绕过交互式提示)
交互式配置有时候会出问题,你可以手动用API token来配置:- 打开bookdown.org登录你的账户,进入账户设置页面生成新的API token(记得保存token和secret)
- 在R中运行以下代码(替换成你的token和secret):
rsconnect::addServer(url = "https://bookdown.org/__api__", name = "bookdown.org") rsconnect::connectUser(server = "bookdown.org", token = "YOUR_TOKEN", secret = "YOUR_SECRET")
内容的提问来源于stack exchange,提问作者Geir Bolstad
相关产品推荐
相关产品推荐

