Как я могу запустить мое блестящее приложение, не запустив библиотеку ( "блестящую" ) заранее?

Я извиняюсь за этот чрезвычайно нубийский вопрос, но я не могу найти ответ. Я только что закончил писать свое приложение 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.

И да, чтобы запустить код на новом компьютере, вам нужно будет предоставить его зависимости.