Sono interessato a fornire un'interfaccia della riga di comando a un pacchetto R chiamato Slidify che sto creando. Usa Rscript
e penso che lo renderebbe multipiattaforma. Gli script sono memorizzati nella sottodirectory inst/slidify
. Per utilizzare lo script da qualsiasi directory, ho aggiunto il suo percorso al mio .bash_profile
come sono su un Mac.Includere gli script della riga di comando con un pacchetto R
La mia domanda è
- Come devo gestire l'installazione dello script in modo automatizzato cross-platform?
- Come posso assicurarmi che i permessi dei file vengano mantenuti in questo processo?
Quale dovrebbe essere la linea shebang per la sceneggiatura? Attualmente sto usando
#!/usr/bin/Rscript --vanilla --slave
Gradirei indicazioni su come gestire questa situazione e gli eventuali esempi di pacchetti R che già lo fanno. Giusto per essere sicuro, sono chiaro su come funzionerebbe, un utente sarebbe in grado di generare uno slide deck da slides.Rmd
semplicemente eseguendo slidify generate slides.Rmd
dalla riga di comando.
UPDATE:
Ecco come lo installo su un Mac dalla riga di comando. Io uso l'eccellente libreria sub con 37 segnali per creare gli script.
echo "$(path/to/clidir/slidify init -)" >> ~/.bash_profile exec bash
Due follow-up domande
- Posso confezionare questi comandi in una funzione di R
install_slidify_cli
? - Come posso rispecchiare questi comandi per gli utenti di Windows?
Credo che 'pgfSweave' utilizzato per fornire tale script, ma [apparentemente] (https://github.com/cameronbracken/pgfSweave/commit/cea3c877827bc1a7b7b4e47548ee43fc4b75c814) in seguito hanno deciso che era contro le regole per installarlo automaticamente. – baptiste
Lo hanno fatto, ed è stato * orribile *. All'epoca gestivo ancora l'autobuilder di 'cran2deb' e mi ha dato i risultati. Stile da cowboy totale, totalmente pazzo. Fortunatamente qualcun altro li ha dissuasi :) –
Grazie @DirkEddelbuettel Ho aggiornato la mia domanda con i dettagli su come installare il cli dalla riga di comando. Gradirei le vostre opinioni sulle due domande di follow-up sollevate. – Ramnath