libcurl error when using htmlwidgets::saveWidget along with plotly::partial_bundle without an internet connection
還沒有人認領這個 Issue。
評估
- 難度
- 3/5
- 預估耗時
- 1-2 天
- 新手友好度
- 68/100
- Issue 類型
- 缺陷
- 描述清晰度
- 基本清楚
- 活躍度
- 活躍
- 技術堆疊
- plotly, r
研究方向
從錯誤堆疊中出現的 plotly::partial_bundle 和 verify_partial_bundle 開始,並在離線時使用 htmlwidgets::saveWidget 重現該範例。追蹤用於下載 CDN bundle 的 curl::curl_download 呼叫,並檢查這些進入點附近現有的測試或範例。當所回報的離線工作流程在沒有主機名稱解析錯誤的情況下具有已定義且經過驗證的行為時,即視為完成。
由索引模型根據 Issue 內容生成。
描述
Running the ?plotly::partial_bundle example without an internet connection available results in the below error.
I think it used to work without accessing https://cdn.plot.ly ?
As a workaround I'm now using curl::has_internet to check whether I can use partial_bundle.
Example:
library(plotly)
p <- plot_ly(x = 1:10, y = 1:10) %>% add_markers()
save_widget <- function(p, f) {
owd <- setwd(dirname(f))
on.exit(setwd(owd))
htmlwidgets::saveWidget(p, f)
mb <- round(file.info(f)$size / 1e6, 3)
message("File is: ", mb," MB")
}
f1 <- tempfile(fileext = ".html")
f2 <- tempfile(fileext = ".html")
save_widget(p, f1)
save_widget(partial_bundle(p), f2)
Error:
Error in curl::curl_download(paste0("https://cdn.plot.ly/", bundle_script), :
Could not resolve hostname [cdn.plot.ly]:
Could not resolve host: cdn.plot.ly
11.
stop(e)
10.
raise_libcurl_error(6L, "Could not resolve hostname", "Could not resolve host: cdn.plot.ly",
"https://cdn.plot.ly/plotly-basic-2.25.2.min.js", NULL)
9.
curl::curl_download(paste0("https://cdn.plot.ly/", bundle_script),
tmpfile)
8.
verify_partial_bundle(p)
7.
plotly_build.plotly(p)
6.
plotly_build(p)
5.
htmlwidgets::saveWidget(p, f)
4.
x$elementId %||% paste("htmlwidget", createWidgetId(), sep = "-")
3.
toHTML(widget, standalone = TRUE, knitrOptions = knitrOptions)
2.
htmlwidgets::saveWidget(p, f)
1.
save_widget(partial_bundle(p), f2)
sessionInfo:
R version 4.6.1 (2026-06-24 ucrt)
Platform: x86_64-w64-mingw32/x64
Running under: Windows 10 x64 (build 19045)
Matrix products: default
LAPACK version 3.12.1
locale:
[1] LC_COLLATE=German_Germany.utf8 LC_CTYPE=German_Germany.utf8 LC_MONETARY=German_Germany.utf8 LC_NUMERIC=C
[5] LC_TIME=German_Germany.utf8
time zone: Europe/Berlin
tzcode source: internal
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] htmlwidgets_1.6.4 plotly_4.12.1 ggplot2_4.0.3 shiny_1.14.0
loaded via a namespace (and not attached):
[1] sass_0.4.10 generics_0.1.4 tidyr_1.3.2 digest_0.6.39 magrittr_2.0.5 evaluate_1.0.5
[7] grid_4.6.1 RColorBrewer_1.1-3 fastmap_1.2.0 jsonlite_2.0.0 promises_1.5.0 httr_1.4.8
[13] purrr_1.2.2 crosstalk_1.2.2 viridisLite_0.4.3 scales_1.4.0 jquerylib_0.1.4 cli_3.6.6
[19] rlang_1.3.0 withr_3.0.3 cachem_1.1.0 yaml_2.3.12 otel_0.2.0 tools_4.6.1
[25] memoise_2.0.1 dplyr_1.2.1 httpuv_1.6.17 curl_8.0.0 vctrs_0.7.3 R6_2.6.1
[31] mime_0.13 lifecycle_1.0.5 fontawesome_0.5.3 pkgconfig_2.0.3 pillar_1.11.1 bslib_0.12.0
[37] later_1.4.8 gtable_0.3.6 data.table_1.18.6.1 glue_1.8.1 Rcpp_1.1.2 xfun_0.60
[43] tibble_3.3.1 tidyselect_1.2.1 rstudioapi_0.19.0 knitr_1.51 farver_2.1.2 xtable_1.8-8
[49] htmltools_0.5.9 rmarkdown_2.31 compiler_4.6.1 S7_0.2.2
- 主要語言
- R
- 星號
- 2.7k
- 分支
- 641
- PR 合併指標
- 30 天內沒有已合併 PR
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
plotly/plotly.R 的其他 Issue
-
難度 2/5 1-3 小時 新手友好度 62/100
-
難度 4/5 3-5 天 新手友好度 35/100
-
難度 3/5 1-2 天 新手友好度 72/100
-
save_image Error 未關閉
難度 3/5 1-2 天 新手友好度 52/100
-
難度 3/5 1-2 天 新手友好度 62/100
相似的 Issue
-
難度 2/5 1-3 小時 新手友好度 82/100
r-lib/pkgdepends#485 · 3 則留言 ·
-
難度 1/5 1 小時以內 新手友好度 92/100
-
beginners blocker
難度 2/5 1-3 小時 新手友好度 78/100
-
enviPathR 未關閉Build Error Build OK Build Warning policies-accepted pre-review precheck-passed
難度 1/5 1 小時以內 新手友好度 84/100
Bioconductor/BiocContributions#207 · 6 則留言 ·
-
難度 2/5 1-3 小時 新手友好度 74/100
datacarpentry/semester-biology#1255 ·