Skip to content
Back to formatted view

Raw Message

Message-ID: <5240E4E5.7030905@gmail.com>
Date: 2013-09-24T01:03:33Z
From: Paul Gilbert
Subject: Capture output of install.packages (pipe system2)
In-Reply-To: <CABdHhvFmgvADrBJui5=+MjgOOGrjERcipxpiNd2tNP+P_vicDQ@mail.gmail.com>

On 13-09-23 08:20 PM, Hadley Wickham wrote:
>> Brian Ripley's reply describes how it is done in the tools package.  For
>> example, as I sent privately to Jeroen,
>>
>> x <- system2("Rscript", "-e \"install.packages('MASS',
>> repos='http://probability.ca/cran')\"", stdout=TRUE, stderr=TRUE)
>>
>> captures all of the output from installing MASS.  As Jeroen pointed out,
>> that isn't identical to running install.packages() in the current session; a
>> real version of it should fill in more of the arguments, not leave them at
>> their defaults.
>
> It does seems a little crazy that you're in a R process, then open
> another one, which then opens a 3rd session! (often indirectly by
> calling R CMD install which then calls an internal function in tools)

It does seem very much more straight forward to do this in the process 
above R:

   R --vanilla --slave -e "install.packages('whatever',
    repo='http://cran.r-project.org')" >R.out  2>&1

(Omit mailer wrap.) Your mileage may vary depending on your OS.

Paul

>
> Hadley
>