我面临的问题是我无法通过局域网连接在计算机B中运行我的应用程序。我可以在机器A上轻松地运行它,就像我在那儿创建它一样。
ui.R
fluidPage(
title = 'Creating a UI from a loop',
sidebarLayout(
sidebarPanel(
# create some select inputs
lapply(1:5, function(i) {
selectInput(paste0('a', i), paste0('SelectA', i),
choices = sample(LETTERS, 5))
})
),
mainPanel(
verbatimTextOutput('a_out'),
# UI output
lapply(1:10, function(i) {
uiOutput(paste0('b', i))
})
)
)
)
server.R
function(input, output, session) {
output$a_out <- renderPrint({
res <- lapply(1:5, function(i) input[[paste0('a', i)]])
str(setNames(res, paste0('a', 1:5)))
})
lapply(1:10, function(i) {
output[[paste0('b', i)]] <- renderUI({
strong(paste0('Hi, this is output B#', i))
})
})
}
app.R
setwd("/home/abc/Rdeploy")
runApp(getwd())
这是从机器A访问应用程序的Web链接
所以请向我解释在机器B中运行此应用程序的步骤,以便我可以通过上述网络链接轻松访问它。同样,我也不想为此简单目的安装ShinyServer或ShinyServer Pro。
答案 0 :(得分:1)
通过这种方式,可以通过您计算机的所有IP:
app <- shinyApp(ui = ui, server = server)
runApp(app, host = "0.0.0.0", port = 80)
(端口由您选择)
答案 1 :(得分:0)
只要您的A和B机器都连接到同一Wifi,这应该可以工作:
shinyApp(ui = ui, server = server,options = list(port=5000,host="your IP"))
如果没有,我建议您使用shinyapps.io进行部署。您可以选择任意端口号。