Herve Pages
2006-Jun-08 19:31 UTC
[Rd] install.packages("C", dep=TRUE) does not always install indirect dependencies
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. Best, H. -- ------------------------ Herv? Pag?s E-mail: hpages at fhcrc.org Phone: (206) 667-5791 Fax: (206) 667-1319
Duncan Murdoch
2006-Jun-08 20:37 UTC
[Rd] install.packages("C", dep=TRUE) does not always install indirect dependencies
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