2012-02-09 27 views
6

Esto podría ser una pregunta bastante trivial, pero me tiene desconcertado desde hace bastante tiempo. Todo comenzó cuando instalé el convertidor universal de documentos pandoc y lo agregué a mi ruta. Entonces cuando hago echo $PATH en el terminal predeterminado en mi Mac OS X, muestra pandoc y puedo ejecutarlo.System Path vs. Sys.getenv ('PATH')

Sin embargo, cuando intenté invocar lo mismo en una sesión R utilizando system(pandoc --version), no pude reconocer pandoc. Comprobaciones adicionales revelaron que system('echo $PATH') no devuelve la misma ruta que obtuve en la terminal.

¿Alguien me puede ayudar con lo que está pasando? Me gusta hacer todo mi trabajo en RStudio, y por lo tanto preferiría si puedo usar pandoc directamente desde dentro. De ahí la necesidad de resolver esto.

Respuesta

4

R y bash (e indudablemente Rstudio) crean cada uno ambientes separados. El Terminal.app inicia una sesión bash con su propia configuración PATH predeterminada. Cuando Simon Urbanek respondió recientemente esta pregunta, remitió al autor de la pregunta a la pregunta frecuente de R-Mac 12.19. Su respuesta completa está en los archivos de R-SIG-MAC. En mi cliente de correo que aparece con una línea de asunto Re: [R-SIG-Mac] PATH y está fechada el 30 de enero de 2012. También se refirió a la pregunta: http://developer.apple.com/library/mac/#qa/qa1067/_index.html

Como ?EnvVar te dice: "Sys.getenv y Sys.setenv a lee y establece variables ambientales en una sesión R ". Pero entonces ya parece estar al tanto de esas funciones.