Rather than having functions in your package install other packages, I would recommend you add a startup message.
(Look for `.onAttach()` in here: http://r-pkgs.had.co.nz/r.html#r-differences)

You can check the dependencies against `installed.packages()` using `setdiff()` and then create a custom message with instructions on installing the missing dependencies.

Best,
--
Hao Ye

On Tue, Oct 9, 2018 at 12:03 PM, Redford,Liz <[log in to unmask]> wrote:

Thanks for the help! An idea: to prevent the user having to manually install, would it be recommended to use install_deps() or install.packages() inside the function in which I use the third-party glue package...? 

Otherwise, it sounds like best practice is to hurry to a minimal product acceptable for public viewing, and then use install_github()?


From: UF R Users List <[log in to unmask]> on behalf of Ben Bolker <[log in to unmask]>
Sent: Tuesday, October 9, 2018 11:38:21 AM
To: [log in to unmask]
Subject: Re: Help needed: R package not installing other packages
 
  IIRC installing from a tarball in this way won't handle dependencies
automatically, so I would suggest install.packages("glue") before using
install.packages() on your own package.

On 2018-10-09 11:28 AM, Redford,Liz wrote:
> Re. Ben--sure, here is the text:
>
>>
> install.packages("/Users/kateratliff/Downloads/projectimplicit_0.1.0.tar.gz", 
> +                  repos = NULL, type = "source")
> ERROR: dependency ‘glue’ is not available for package ‘projectimplicit’
> * removing
> ‘/Library/Frameworks/R.framework/Versions/3.5/Resources/library/projectimplicit’
> Warning in install.packages :
>   installation of package
> ‘/Users/kateratliff/Downloads/projectimplicit_0.1.0.tar.gz’ had non-zero
> exit status
>
> Re. Hao--Thank you! I have read something similar, but the problem with
> that approach seems that it is not possible to install from github while
> keeping the repo private?
>
>
> ------------------------------------------------------------------------
> *From:* UF R Users List <[log in to unmask]> on behalf of Ben
> Bolker <[log in to unmask]>
> *Sent:* Tuesday, October 9, 2018 10:18:37 AM
> *To:* [log in to unmask]
> *Subject:* Re: Help needed: R package not installing other packages
>  
>   Can you please cut and paste the text of the error rather than
> attaching a screenshot?  It might have been stripped by the mailing list
> *or* mangled by my mail reader, but in any case it was gone by the time
> I saw the message ...  (in general, cutting and pasting text rather than
> screenshots is good practice - minimizes this kind of problem and makes
> it easier in cases where recipients want to try out code for themselves;
> also, the [long] posting guide linked below does say "no binary
> attachments" ...)
>
>
>
> On 2018-10-09 10:04 AM, Redford,Liz wrote:
>> Hi there, I wrote a minimal package that also uses the glue package.
>> "Glue" is under Imports in DESCRIPTION, and NAMESPACE says import(glue).
>> But when I build the package, email it to myself, and try to install it
>> on my other computer, I get an error:
>>
>> image.png
>>
>> The single use of glue is called using ::. 
>> What am I missing? I'd appreciate any insight if possible! Thanks! 
>>
>>
>> This list strives to be beginner friendly. However, we still ask that
>> you PLEASE do read the posting guide
>> https://urldefense.proofpoint.com/v2/url?u=http-3A__www.R-2Dproject.org_posting-2Dguide.html&d=DwID-g&c=pZJPUDQ3SB9JplYbifm4nt2lEVG5pWx2KikqINpWlZM&r=QWxQId63qB2iSP1ggUL7kQsdfEWUTu6qCGEw8Xuo91A&m=qK0PaTUdmkiUEXKVKW80NlmXqiiRScE397LnzIZF4b4&s=a7k9ju-t1b6ONxJZAzmIf_n5Vd_laWP7SpMuvLO02pE&e=
>> <https://urldefense.proofpoint.com/v2/url?u=http-3A__www.R-2Dproject.org_posting-2Dguide.html&d=DwMFAw&c=pZJPUDQ3SB9JplYbifm4nt2lEVG5pWx2KikqINpWlZM&r=3MJaagrtDUL79e1ACXZji8lYXjs07_ujkEIg1it6gQ0&m=p5-fQTyyenAOciTFuHi2XXwtkSgdTzuC4m_2TqYivj4&s=Sp_3BbyDhCvwsGOMFSUN9ViwJl6-IcCsOcMqkky6tW8&e=>
>> and provide commented, minimal, self-contained, reproducible code.
>
> This list strives to be beginner friendly.  However, we still ask that you
> PLEASE do read the posting guide
> https://urldefense.proofpoint.com/v2/url?u=http-3A__www.R-2Dproject.org_posting-2Dguide.html&d=DwID-g&c=pZJPUDQ3SB9JplYbifm4nt2lEVG5pWx2KikqINpWlZM&r=QWxQId63qB2iSP1ggUL7kQsdfEWUTu6qCGEw8Xuo91A&m=KUxQRBHjrKVQtjqUAiJsvWTxF_1vS3PSw2jadm4s2Gw&s=silCGDsBRO3LBhQQkNm4UhKV5RPDIV4HeUiSBNpE4ak&e=
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__www.R-2Dproject.org_posting-2Dguide.html&d=DwMF-g&c=pZJPUDQ3SB9JplYbifm4nt2lEVG5pWx2KikqINpWlZM&r=3MJaagrtDUL79e1ACXZji8lYXjs07_ujkEIg1it6gQ0&m=tqVMT_hIBLMbZh65RieB5D60vvWEkQTl3TCpMVa4-ok&s=GUiap0z1CNPPb_Oo7lRj-kYY4H8uE5Osk5fS7WJnjb0&e=>
> and provide commented, minimal, self-contained, reproducible code.
> This list strives to be beginner friendly. However, we still ask that
> you PLEASE do read the posting guide
> https://urldefense.proofpoint.com/v2/url?u=http-3A__www.R-2Dproject.org_posting-2Dguide.html&d=DwID-g&c=pZJPUDQ3SB9JplYbifm4nt2lEVG5pWx2KikqINpWlZM&r=QWxQId63qB2iSP1ggUL7kQsdfEWUTu6qCGEw8Xuo91A&m=KUxQRBHjrKVQtjqUAiJsvWTxF_1vS3PSw2jadm4s2Gw&s=silCGDsBRO3LBhQQkNm4UhKV5RPDIV4HeUiSBNpE4ak&e=
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__www.R-2Dproject.org_posting-2Dguide.html&d=DwMF-g&c=pZJPUDQ3SB9JplYbifm4nt2lEVG5pWx2KikqINpWlZM&r=3MJaagrtDUL79e1ACXZji8lYXjs07_ujkEIg1it6gQ0&m=tqVMT_hIBLMbZh65RieB5D60vvWEkQTl3TCpMVa4-ok&s=GUiap0z1CNPPb_Oo7lRj-kYY4H8uE5Osk5fS7WJnjb0&e=>
> and provide commented, minimal, self-contained, reproducible code.

This list strives to be beginner friendly.  However, we still ask that you
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
This list strives to be beginner friendly. However, we still ask that you PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.

This list strives to be beginner friendly. However, we still ask that you PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.