Как я могу запустить мое блестящее приложение, не запустив библиотеку ( "блестящую" ) заранее?
Я извиняюсь за этот чрезвычайно нубийский вопрос, но я не могу найти ответ. Я только что закончил писать свое приложение R Shiny и собираюсь отправить его моему сетевому парню, чтобы он мог загрузить его на моем сервере компании.
Однако для запуска моего приложения я должен выполнять команды:
>library("shiny")
>runApp("myApp")
Я не хочу, чтобы парень сети имел дело с работающей библиотекой ( "блестящей" ), так как я могу поместить это в свой код? У меня уже есть
library(shiny)
на моем сервере .R
Кроме того, у меня есть много пакетов, включая googleVis, ggplot2 и reshape2. У меня это как
library(reshape2)
library(googleVis)
library(ggplot2)
Но при использовании моего приложения на новом компьютере я должен использовать 'install.packages()'. Будет ли мой парень в сети или пользователи приложений беспокоиться об этом?
Спасибо.
Ответы
Ответ 1
Предполагая, что на сервере компании установлен пакет shiny
, вы можете просто вызвать
shiny::runApp()
Что ::
делает, это приносит символ из пакета, который еще не импортирован.
У меня есть следующая оболочка script runapp
, которая позволяет запускать блестящие приложения из командной строки:
#!/bin/bash
R -e "shiny::runApp('$1')"
Итак, я могу сказать runapp directory-with-shiny-script/
, и он запускает приложение.
Ответ 2
Вы не можете. Ему нравится спрашивать, как запустить R
без R
.
И да, чтобы запустить код на новом компьютере, вам нужно будет предоставить его зависимости.