2012-02-09 13 views
6

Questa potrebbe rivelarsi una domanda piuttosto banale, ma mi ha lasciato perplesso da un po 'di tempo. Tutto è iniziato quando ho installato il convertitore universale di documenti pandoc e l'ho aggiunto al mio percorso. Quindi quando eseguo il echo $PATH sul terminale predefinito sul mio Mac OS X, viene visualizzato pandoc e sono in grado di eseguirlo.System Path vs. Sys.getenv ('PATH')

Tuttavia, quando ho provato a invocare lo stesso in una sessione R utilizzando system(pandoc --version), non è stato possibile riconoscere pandoc. Un ulteriore controllo ha rivelato che system('echo $PATH') non restituisce lo stesso percorso che ho ricevuto sul terminale.

Qualcuno può aiutarmi con quello che sta succedendo? Mi piace fare tutto il mio lavoro su RStudio, e quindi preferirei se io possa usare pandoc direttamente dall'interno. Da qui la necessità di capirlo.

risposta

4

R e bash (e indubbiamente Rstudio) creano ciascuno ambienti separati. Terminal.app avvia una sessione bash con le proprie impostazioni PATH predefinite. Quando Simon Urbanek ha recentemente risposto a questa domanda, ha rimandato l'interrogante alle FAQ R-Mac 12.19. La sua risposta completa è negli archivi R-SIG-MAC. Sul mio client di posta elettronica appare con una riga di oggetto Re: [R-SIG-Mac] PATH e datato 30 gennaio 2012. Ha anche fatto riferimento l'interrogante a: http://developer.apple.com/library/mac/#qa/qa1067/_index.html

Come ?EnvVar ti dice: "Sys.getenv e Sys.setenv a leggere e impostare le variabili ambientali in una sessione R. " Ma sembra che tu sappia già di quelle funzioni.