[Rd] install.packages("C", dep=TRUE) does not always install indirect dependencies

Duncan Murdoch murdoch at stats.uwo.ca
Thu Jun 8 22:37:23 CEST 2006


On 6/8/2006 3:31 PM, Herve Pages wrote:
> Hello again,
> 
> I've found another issue with 'install.packages'.
> 'install.packages("C", dep=TRUE)' will "fail" when the 2 following
> conditions are satisfied:
>   - Package C depends on B which in turns depends on A but
>     the Depends field in C doesn't list A.
>   - Package B is already installed but not package A (e.g.
>     the user did 'install.packages("B", dep=FALSE)').
> Then 'install.packages("C", dep=TRUE)' will not install A.
> May be this is the desired behavior, I don't know. Personally, I would
> think of 'install.packages("C", dep=TRUE)' as a reliable way to get every
> packages that C directly or indirectly relies on installed.

This seems rather unreasonable.  If a user asked not to install B's 
dependencies, and A is not listed as a dependency of C, then I don't 
think a request to install C and its dependencies should install A.

Perhaps the installation of B without dependencies was a mistake?  I 
think an argument could be made that dependencies=TRUE should be the 
default (as it is when using the corresponding menu item in the Windows 
GUI).

Duncan Murdoch



More information about the R-devel mailing list