2013-08-15 9 views
10

Przepraszam za to niezwykle noobskie pytanie, ale nie mogę znaleźć odpowiedzi. Właśnie skończyłem pisać moją aplikację R Shiny i przygotowuję się do wysłania jej do mojego sieciowego faceta, żeby mógł załadować ją na mój serwer firmy.Jak mogę wcześniej uruchomić moją błyszczącą aplikację bez wywoływania biblioteki ("błyszczące")?

Jednak, aby uruchomić mój app, obecnie mam wykonać polecenia:

>library("shiny") 
>runApp("myApp") 

Nie chcę faceta sieciową mieć do czynienia z prowadzeniem biblioteki („lśniący”), tak jak puszka Umieściłem to w moim kodzie? Mam już

library(shiny) 

w moim server.R

Ponadto, mam wiele pakietów wdrożone, w tym googleVis, ggplot2 i reshape2. Ale gdy używam mojej aplikacji na nowym komputerze, muszę używać "install.packages()". Czy mój użytkownik sieci lub użytkownik aplikacji musi się tym martwić?

Dzięki.

Odpowiedz

1

Nie możesz. To tak, jakby pytać, jak uruchomić R bez R.

I tak, aby uruchomić kod na nowym komputerze, musisz podać jego zależności.

+0

Spójrz na tę aplikację, na przykład: https://www.google.com/search?q=radyant&oq=radyant&aqs=chrome.0.69i57j69i60l3j69i59.2038j0&sourceid=chrome&ie=UTF-8. Ma wiele zaimportowanych bibliotek (kod: https: //github.com/mostly-harmless/radyant/blob/master/inst/marketing/global.R). W jaki sposób użytkownik tej aplikacji może zobaczyć wszystko bez zaimportowania wszystkich bibliotek itp. Czy jest to po prostu wyabstrahowane ode mnie i zadbane przez serwer? Jestem zdezorientowany, ponieważ zastanawiam się, czy muszę podać swojemu facetowi sieci jakieś konkretne szczegóły. – user2522217

17

Zakładając masz shiny pakiet zainstalowany na serwerze firmy, można po prostu zadzwonić

shiny::runApp() 

Co :: nie przynosi symbol z pakietu, który nie jest jeszcze importowanego.

Mam następujący skrypt runapp który pozwala mi uruchomić błyszczące aplikacje z linii komend:

#!/bin/bash 
R -e "shiny::runApp('$1')" 

Więc mogę powiedzieć runapp directory-with-shiny-script/ i uruchamia aplikację.

+5

Nie musisz uruchamiać bash tylko po to, aby rozpocząć uruchamianie R; możesz po prostu użyć 'Rscript' lub' littler' który jest moim wyborem: 'r -lshiny -e'runApp (". ") '' jest moim preferowanym idiomem. –

+0

Cóż, narzut jest bardzo mały i mam wygodę mniej pisania. Ale dzięki za wskazówkę –

+1

Nie można mniej pisać niż uruchamiając 'r' :-) I tak, można go również użyć do trybu' shebang'. –

Powiązane problemy